[
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