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