繁体   English   中英

Maven-需要时在哪里存储外部jar文件

[英]maven - where to store external jar files if needed

在Maven项目中存储jar文件的约定是什么? 我知道我应该使用maven本身下载jar,但是这次情况有所不同。 我正在上一门课程(coursera.org),我有一些应该使用的秘密jar文件,而且它不是公开的-我不会用maven下载它。 而且我确实希望将.jar文件存储在我的私有存储区(bitbucket)中。 问题是我应该将文件放在哪里,以便Maven项目将能够使用此jar。

您需要将其添加到本地存储库。 然后将其用作其他罐子。

您可以这样做:

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>

这是执行此操作的另一种简单方法:在项目目录中创建基于文件的Maven存储库

优点: -任何人都可以签出项目并进行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

  • com / oracle / driver /-groupId(必须为3个组件)
  • ojdbc6 / --artifactId
  • 快照/-版本

我们已经存储了jar,这与maven在回购中的存储方式非常相似。

最好的办法是安装一个 Artifactory,Nexus,Archiva之类的存储库管理器,并将此类文件存储到存储库管理器中,并像往常一样使用它们。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM