Today I want show what is possible with Maven 2.0.9 in NetBeans 6.5 and what makes me nervous.
First of all you have to download NetBeans and then the Maven plugin: Click Tools->Plugins->Available Plugins.
I recommend to install the command line of maven and then set the ‘connection’ to the local repository in NetBeans: Tools->Options->Miscellaneous->Maven->Local Repository should be sth. like /home/user/.m2/repository
- Add a new jar to the project via right click or directly in the pom.xml: there you will have code completion! I.e. you can always choose the latest version of a library or easily switch versions.
- Add javadoc or sources (download all source)
- You can search unknown class in repository
after adding the JodaTime library with this dialog and adding the sources with the first dialog – all is fine:
- Set different goal to F6: right click the project->properties->actions->run project and then clear all the fields and set the ‘execute goal’ e.g. to
mvn jetty:run - In the same dialog you can set skip test to true if this is necessary or if you want to speed up compilation
- Profiling and debugging of a maven project works now, although I had some problems under vista with profiling, but under linux were no issues
So I am nearly happen with maven under NetBeans, but what really sucks is maven while compiling. A small native NetBeans project takes under 2 seconds to clean and compile. And with maven? Nearly 10 seconds!
How could one change this? I only found a workaround to use the same project as native NetBeans project, but nothing more. Any ideas how to make ‘maven install’ or ‘mvn compile’ faster??
(BTW: Today wordpress does not want that I make clickable images … if you want to see the images in better quality you have to right click them->view->remove the stuff after ‘?’. Example: https://karussell.files.wordpress.com/2009/02/add-sources-and-javadoc.jpg)
UPDATE:
specify working offline ‘maven -o’ to get faster maven builds!
This is possible in NetBeans via:
Tools->Options->Miscellaneous->Maven->Work Offline
im not sure why you need to manually use mvn clean compile, for me the netbeans ide automatically compiles after Changes, so only mvn clean install (could)should be a problem 🙂
options for maven compiler, for descriptions see http://maven.apache.org/plugins/maven-compiler-plugin/compile-mojo.html
maven.compiler.optimize=false – should be true for production code ! brings the most speed up if i remember correctly
maven.compiler.debug=false
maven.jdk=1.6 – should not be important, but who knows if there are performance differences between JDKs
options for maven-surefire-plugin to speed up junit tests (with testng you can run tests simultaneously)
for descriptions see http://maven.apache.org/plugins/maven-surefire-plugin/test-mojo.html
maven.surefire.forkmode=once – especially good with spring framework, only one application context per test-class
further possibilities
– skip Tests
– work offline (as you already noted) – should only be required if new plugins/artifacts are used or if additional repositories are defined (without updatePolicy=never)
Hi Michael,
thanks for your ideas!
How did you enable compile on save for maven projects?
hmm i subscribed to email notification, no email sent..
after some thinking it might be a difference in understanding of ‘compile’
i mean the normal checks the ide makes on code changes, e.g. correct syntax, compatible interface changes and such, actually i dont think i ever needed ‘mvn:compile’
anyways, i work with stock netbeans versions since 6.5 and it works with
– 6.5
– 6.7M2-M3
– 6.7 Beta
my overall ide setup
– jdk 1.6+
– maven 2.0.9 installed >>> that could be one of the important differences, netbeans comes with embedded maven, but due to my local installed version, netbeans uses the local and not the embedded one
yes, I am using external maven as well.
It is true that the hints are really fast, but I want to run my test cases and for that mvn compile will be invoked.
For a native netbeans project this compile+run is really fast – not the case for maven compile+run …
Maybe you have other suggestions?
(“hmm i subscribed to email notification, no email sent..” -> sorry, wordpress.com should normally do this, hmmh)
well maven startup time will always be a bit larger than ‘native’ (ant scripts)
you could try http://coffeecokeandcode.blogspot.com/2008/08/netbeans-on-speed.html
personally i do not care for those 2 – x seconds
Pingback: Quick hit: Take Maven offline in NetBeans « Developmentality