Before we start, assume that you have already have a jar file, coop-0.0.1.jar. Its group id, artifact id and version are net.sunshire, coop and 0.0.1, respectively. And your current project is net.sunshire:farm:0.0.1, which is at FARM_HOME=~/WorkSpace/farm.
First I recommend you to make a directory for your local library, named LIB_SOURCE=$FARM_HOME/mvn-lib, and copy your dependency jar into there. Then you make another directory for local Maven repository, named LOCAL_MVN=$FARM_HOME/local-maven-repo. So you are prepared, by executing the following, you are able to deploy the jar to your local Maven repository.
mvn deploy:deploy-file \ -Durl=file:///$LOCAL_MVN \ -Dfile=$LIB_SOURCE/coop-0.0.1.jar \ -Dpackaging=jar \ -DgroupId=net.sunshire \ -DartifactId=coop \ -Dversion=0.0.1To verify if your deploy is successful, you may check the files under $LOCAL_MVN/. There should be directories and jar named after your group id and artifact id.(e.g. )
After you have successfully deployed your local dependency. You may add the following into your current project pom.xml.
<project ...> ... <dependencies> <dependency> <groupId>net.sunshire</groupId> <artifactId>coop</artifactId> <version>0.0.1</version> </dependency> </dependencies> <repositories> <repository> <id>local-maven-repo</id> <url>file:${project.basedir}/local-maven-repo</url> </repository> </repositories> </project>When you are finished, you are able to compile your project by executing mvn scala:compile test.
Another worth mentioning thing, when you deploy the local repository with mvn deploy:deploy-file ..., it also deploy a duplication to ~/.m2/. So I would recommend you change the version number of the dependency every time you made a change of it, otherwise Maven uses the cache in ~/.m2/ prior.
No comments:
Post a Comment