There are a lot of resources around for maven. Then why this blog item? Well actually because I want to capture what I do, if someone can use it along the way it would be nice. Therefore this blog item is here. This item describes the merging of my student sample application into a maven project.
First steps for maven:
mvn archetype:create -DgroupId=nl.gridshore.registrations -DartifactId=registrations-webapp -DarchetypeArtifactId=maven-archetype-webapp
Create java folder under main and test folder under src
Copy sources into the java folder and resources into the resources folder
Run mvn compile, a lot of libraries are downloaded, and see the compile hopelessly fail. The failing compile is as expected since we need the dependencies during compilation.
Find and configure the dependencies. We list all dependencies; compile time, test time and runtime.
Install sun files - there is a problem with the license from sun. Therefore they cannot be added to the repository. You need to do this manually. There is a very short item about installing these jars on this page (www.jugpadova.it)
In short : download the classes from the sun site and issue the following command
mvn install:install-file -Dfile=./jta-1_0_1B-classes.zip -DgroupId=javax.transaction -DartifactId=jta -Dversion=1.0.1B -Dpackaging=jar
Install jars for mail, activation and connector - same idea as for jta
mvn install:install-file -Dfile=activation.jar -DgroupId=javax.activation -DartifactId=activation -Dversion=1.0.2 -Dpackaging=jar
mvn install:install-file -Dfile=mail.jar -DgroupId=javax.mail -DartifactId=mail -Dversion=1.3.2 -Dpackaging=jar
mvn install:install-file -Dfile=connector.jar -DgroupId=javax.resource -DartifactId=connector -Dversion=1.0 -Dpackaging=jar
Run the command to create the package
mvn package
Now we have a war file that we can deploy, I did not test it yet. I do have some more issues to figure out. While creating the war file, all libraries are copied to web-inf/lib, also all dependencies. Therefore I now have spring.jar and all components jars like spring-core, spring-aop, etc as well. So double jars, to much memory, etc.
Lets move on and try to get the maven site up and running.
- First try, just generate the site. This gives you the skeleton of the website, but almost no reports yet. You can have a look at your dependencies, nice.
mvn site
I must add versioning and maybe some other parts as well, but for now it is enough. In the near future I want to do more with the libraries, I do not want double spring jars etc, and I want to keep foolowing the reports. These reports are not working correct at the moment en they must be improved.