在maven项目中存储jar文件的惯例是什么?我知道我应该使用maven本身下载jar,但这次情况有所不同。我正在做一个课程(coursera.org),我有一些秘密的jar文件,我应该使用它并不公开 - 我不会用maven下载它。我确实想将.jar文件存储在我的私人仓库(bitbucket)中。问题是我应该把文件放在哪里,以便maven项目能够使用这个jar。
答案 0 :(得分:7)
您需要将其添加到本地存储库。然后将其用作任何其他罐子。
你这样做:
mvn install:install-file -Dfile={filename}.jar -DgroupId={some.group.id}
-DartifactId={artifact} -Dversion={version} -Dpackaging=jar
然后你就这样使用它:
<dependency>
<groupId>{some.group.id}</groupId>
<artifactId>{artifact} </artifactId>
<version>{version}</version>
</dependency>
答案 1 :(得分:3)
这是另一种简单的方法: 在项目目录中创建基于文件的maven repo
<强>优点:强> - 任何人都可以签出项目并进行maven编译 - 无需安装存储库管理器
<强>缺点:强> - jar将在项目目录中
怎么做? 我在项目中包含了ojdbc6.jar。
第1步: 将ojdbc6.jar复制到$ {project.baseDir} /lib/com/oracle/driver/ojdbc6/SNAPSHOT/ojdbc6-SNAPSHOT.jar
第2步: 在你的pom中添加依赖
<dependency>
<groupId>com.oracle.driver</groupId>
<artifactId>ojdbc6</artifactId>
<version>SNAPSHOT</version>
</dependency>
第3步: 把它添加到你的pom。 这里我们要求maven考虑lib目录 在您的项目目录中作为maven回购。
<repositories>
<repository>
<id>my-repo</id>
<name>mycustom repo</name>
<url>file:${project.basedir}/lib</url>
</repository>
</repositories>
第4步: 在步骤2中分析jar文件的路径。 $ {project.baseDir} /lib/com/oracle/driver/ojdbc6/SNAPSHOT/ojdbc6-SNAPSHOT.jar
我们已经存储了jar,非常类似于回购邮件中的maven商店。
答案 2 :(得分:2)
最好的事情是install a repository manager,例如Artifactory,Nexus,Archiva,并将这些文件存储到存储库管理器中,并将它们用作通常的依赖项。