I’m getting build errors for for my Maven enabled project related to the Hibernate extension. – It’s a very basic app, and I was able to solve this issue on my Linux box by manually installing some required artifacts:
mvn install:install-file -DgroupId=javassist -DartifactId=javassist
-Dversion=3.9.0 -Dpackaging=jar -Dfile=foo.jar
That worked out (Hibernate as a set of required deps).
But in case of Windows things are different. How do I add the dependencies manually to Maven on Windows?
1) org.hibernate:hibernate:jar:3.3.2
Try downloading the file manually from the project website.
Then, install it using the command:
mvn install:install-file -DgroupId=org.hibernate -DartifactId=hibernate -Dversion=3.3.2
-Dpackaging=jar -Dfile=/path/to/file
2) javassist:javassist:jar:3.9.0
Can I automate this cumbersome manual dependency installation for my coworkers on their Windows machines? Are there any helpful tools or GUI that can perform these tasks? The best way would be that Maven does it all automatically. I’m not too familiar with it jet.
Thanks for answers.
Firstly, you can manually install artifacts to your local Maven repository in Windows in exactly the same way you did on your Linux box.
Ideally, as you say, Maven will do the hard work for you. Usually you won’t have to install jars manually: for most libraries Maven will know what dependencies each jar has. By default, Maven will check the central repository, and a couple of others. To access jars in other repositories, just add them to your POM, as follows:
The JBoss repo mentioned above is a good one to add. It has a lot of common jars, including the jars for the hibernate version you mentioned above. Reference it in your pom.xml like this:
Once you have added these dependencies, Maven will also download the libraries that these libraries depend on, and so on (including the Javassist library in your example).
Finally, as mentioned in another answer, if you have a lot of third party libraries to install for your project that don’t exist in other repositories, you might want to install a repository manager like Nexus, Artifactory, or Archiva, which will allow you to perform the install commands you mentioned, through a web-based interface.