[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
| Re: [m2e-users] Reducing build times | 
Thank you for your reply - I take it as an early clue that I'm not 
missing anything trivial, and that neither my project nor observed build 
time is out of ordinary.
Yes, I'm talking about the speed of a "full" (but not "clean") Maven 
build, specifically in a scenario in which I change some class in one of 
the projects upon which the web app depends - or maybe even a class 
directly in the web app project - and I want to see the effect of the 
change for the end user. AFAICS M2Eclipse doesn't automatically and 
incrementally update the contents of target/WEB-INF in that case, so I 
have to run the Maven build on the parent project myself (I created a 
Run Configuration for that).
You're right that a unit test covering just the changed piece of code 
would execute much faster, and it is certainly good practice to create 
such unit tests. Even so, it is not always followed. For example, right 
now my goal is to learn about (the structure of) someone else's existing 
code (with no unit tests, alas), and I'd like to be able to perform some 
quick experiments (tweak it a bit, see whether the assumed effects 
occur, then maybe tweak it again...).
Regards,
Jan Ploski
Anders Hammar wrote:
So you're doing a Maven build? If so it will take some time (the same
amount of time as from command line). The idea (my take on this at
least) when using the IDE is not to have to do a (full) Maven build all
the time, but rather utilize the fact that Eclipse will compile in
runtime. Eclipse will notify you of compilation errors (as it will when
not using m2eclipse and a Maven project). You want to verify someting in
the code? Simple, just execute that specific unit test from within
Eclipse (Run as Junit test).
You do a (full) Maven build when you certain things work and you just
want to verify by building the entire project.
This is at least how I try do develop my code,
/Anders
On Thu, Aug 4, 2011 at 22:28, Jan Ploski <jpl@xxxxxxxxxxxxx
<mailto:jpl@xxxxxxxxxxxxx>> wrote:
    Sorry, I forgot to mention: I'm using 1.0.0.20110607-2117, so that
    shouldn't be an issue.
     From the console output I see the time is spread among modules
    (module names changed to protect the innocent):
    [INFO] Reactor Summary:
    [INFO]
    [INFO] Parent project ..................... SUCCESS [0.521s]
    [INFO] Util ..............................__. SUCCESS [3.082s]
    [INFO] Security ........................... SUCCESS [1.156s]
    [INFO] Business interfaces ................ SUCCESS [1.272s]
    [INFO] Security implementation ............ SUCCESS [0.790s]
    [INFO] Business services implementation ... SUCCESS [1.418s]
    [INFO] WAR ..............................__.. SUCCESS [7.738s]
    [INFO] EAR ..............................__.. SUCCESS [5.742s]
    So I suppose my question may be more of a "best practices" / "is
    that normal" nature: given such a project structure, and my act of
    changing of a single source file, should I "suck it up", or am I
    justified in thinking that some optimizations in the development
    process are needed. I have been using scripting languages much
    recently, so delays of this kind do cause annoyance. But they might
    be just a fact of life given the different technology?...
    Regards,
    Jan Ploski
    Anders Hammar wrote:
        What version of m2e are you using? v1.0 is a great improvement
        compared
        to the older 0.x versions (where the behavior you're describing
        could
        happen).
        /Anders
        On Thu, Aug 4, 2011 at 18:21, Jan Ploski <jpl@xxxxxxxxxxxxx
        <mailto:jpl@xxxxxxxxxxxxx>
        <mailto:jpl@xxxxxxxxxxxxx <mailto:jpl@xxxxxxxxxxxxx>>> wrote:
            Hi,
            As a new user of M2Eclipse, I am wondering about typical and
        minimal
            build times. What I have here is a multi-module project
        structured
            according to the usual recommendations (much like the
        multi-module
            enterprise example in the Maven by Example book). Building
        it (from
            non-dirty state) using M2Eclipse (or directly with Maven) takes
            about 30 seconds. So after any slightest change in code I
        have to
            wait for at least 30 seconds before seeing the effect of my
        change
            in the browser. Given that Eclipse compiles the individual
        classes
            instantly as I type, the build step seems like a great waste
        and an
            unnecessary overhead.
            What are your impressions? Does working with Maven necessarily
            induce such delays into the edit-compile-run cycle and
        should one
            treat this overhead as a price for having a portable build
        system
            ("just buy faster hardware")? Or are there any
        tried-and-true tricks
            for speeding up the process? Right now I'm thinking about
        hacking
            together something project-specific that detects changes in
        .class
            files and then updates the corresponding resources in
        WEB-INF. But
            that's very crude and essentially means working around Maven (in
            development) instead of relying on it equally everywhere.
            Regards,
            Jan Ploski
            ___________________________________________________
            m2e-users mailing list
        m2e-users@xxxxxxxxxxx <mailto:m2e-users@xxxxxxxxxxx>
        <mailto:m2e-users@xxxxxxxxxxx <mailto:m2e-users@xxxxxxxxxxx>>
        https://dev.eclipse.org/____mailman/listinfo/m2e-users
        <https://dev.eclipse.org/__mailman/listinfo/m2e-users>
        <https://dev.eclipse.org/__mailman/listinfo/m2e-users
        <https://dev.eclipse.org/mailman/listinfo/m2e-users>>
        _________________________________________________
        m2e-users mailing list
        m2e-users@xxxxxxxxxxx <mailto:m2e-users@xxxxxxxxxxx>
        https://dev.eclipse.org/__mailman/listinfo/m2e-users
        <https://dev.eclipse.org/mailman/listinfo/m2e-users>
    _________________________________________________
    m2e-users mailing list
    m2e-users@xxxxxxxxxxx <mailto:m2e-users@xxxxxxxxxxx>
    https://dev.eclipse.org/__mailman/listinfo/m2e-users
    <https://dev.eclipse.org/mailman/listinfo/m2e-users>
_______________________________________________
m2e-users mailing list
m2e-users@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/m2e-users