Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/349.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java maven-如果需要,在哪里存储外部jar文件_Java_Maven_Jar - Fatal编程技术网

Java maven-如果需要,在哪里存储外部jar文件

Java maven-如果需要,在哪里存储外部jar文件,java,maven,jar,Java,Maven,Jar,在maven项目中存储jar文件的约定是什么?我知道我应该使用maven本身下载JAR,但这次情况有所不同。我正在学习一门课程(coursera.org),我有一个秘密的jar文件,我应该使用它,它不是公开的——我不会用maven下载它。我确实希望将.jar文件存储在我的私有repo(bitbucket)中。问题是我应该把文件放在哪里,这样maven project就可以使用这个jar。您需要将它添加到本地存储库中。然后把它当作其他罐子使用 你是这样做的: mvn install:install

在maven项目中存储jar文件的约定是什么?我知道我应该使用maven本身下载JAR,但这次情况有所不同。我正在学习一门课程(coursera.org),我有一个秘密的jar文件,我应该使用它,它不是公开的——我不会用maven下载它。我确实希望将.jar文件存储在我的私有repo(bitbucket)中。问题是我应该把文件放在哪里,这样maven project就可以使用这个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>
然后你就这样使用它:

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>

{some.group.id}
{工件}
{version}

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

你是这样做的:

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>
然后你就这样使用它:

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>

{some.group.id}
{工件}
{version}

最好是喜欢Artifactory、Nexus、Archiva,将这些文件存储到存储库管理器中,并像往常一样使用它们

最好是喜欢Artifactory、Nexus、Archiva,将这些文件存储到存储库管理器中,并像平常一样使用它们

下面是另一种简单的方法: 在项目目录中创建基于文件的maven repo

优点: -任何人都可以签出项目并进行maven编译 -无需安装存储库管理器

缺点: -jar将位于项目目录中

怎么做? 我将ojdbc6.jar包括在一个项目中

第1步: 将ojdbc6.jar复制到${project.baseDir}/lib/com/oracle/driver/ojdbc6/SNAPSHOT/ojdbc6-SNAPSHOT.jar

第二步: 在pom中添加依赖项

<dependency>
    <groupId>com.oracle.driver</groupId>
    <artifactId>ojdbc6</artifactId>
    <version>SNAPSHOT</version>
</dependency>

com.oracle.driver
ojdbc6
快照
第三步: 将此添加到您的pom中<这里我们要求Maven考虑LIB目录 以maven回购协议的形式在您的项目目录中。

<repositories>
    <repository>
        <id>my-repo</id>
        <name>mycustom repo</name>
        <url>file:${project.basedir}/lib</url>
     </repository>
</repositories>

我的回购协议
我的客户回购
文件:${project.basedir}/lib
第4步: 在步骤2中分析jar文件的路径。 ${project.baseDir}/lib/com/oracle/driver/ojdbc6/SNAPSHOT/ojdbc6-SNAPSHOT.jar

  • com/oracle/driver/--groupId(必须是3个组件)
  • ojdbc6/--artifactId
  • 快照/--verison

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

这里是另一种简单的方法: 在项目目录中创建基于文件的maven repo

优点: -任何人都可以签出项目并进行maven编译 -无需安装存储库管理器

缺点: -jar将位于项目目录中

怎么做? 我将ojdbc6.jar包括在一个项目中

第1步: 将ojdbc6.jar复制到${project.baseDir}/lib/com/oracle/driver/ojdbc6/SNAPSHOT/ojdbc6-SNAPSHOT.jar

第二步: 在pom中添加依赖项

<dependency>
    <groupId>com.oracle.driver</groupId>
    <artifactId>ojdbc6</artifactId>
    <version>SNAPSHOT</version>
</dependency>

com.oracle.driver
ojdbc6
快照
第三步: 将此添加到您的pom中<这里我们要求Maven考虑LIB目录 以maven回购协议的形式在您的项目目录中。

<repositories>
    <repository>
        <id>my-repo</id>
        <name>mycustom repo</name>
        <url>file:${project.basedir}/lib</url>
     </repository>
</repositories>

我的回购协议
我的客户回购
文件:${project.basedir}/lib
第4步: 在步骤2中分析jar文件的路径。 ${project.baseDir}/lib/com/oracle/driver/ojdbc6/SNAPSHOT/ojdbc6-SNAPSHOT.jar

  • com/oracle/driver/--groupId(必须是3个组件)
  • ojdbc6/--artifactId
  • 快照/--verison

我们已经存储了这个罐子,非常类似于maven在回购中的存储方式。

好的,但是我应该把它放在哪里呢?
src/main/resources
ok吗?当您使用maven时,您不会将jar文件放在项目中的某个地方。您需要做的一切就是声明依赖关系。然后,您的项目使用本地存储库中的jar文件。它们通常是下载的,但在本例中,您可以使用maven安装显式地将其放入。然后,您只需添加依赖项,即可完成。如果您想在另一台电脑上进行设置,可以将其放置在您喜欢的位置,并创建脚本将其添加到新电脑上的本地存储库。仅将依赖项添加到您的本地存储库将导致其他人无法构建项目,因为他们没有此依赖项。最好使用@khmarbaiseeyes建议的存储库管理器,用于拥有自己服务器的用户,但这是coursera.org上的课程,可能只有一个用户。在这种情况下,在何处安装repository manager,以及其他用户将如何访问它。有了将jar添加到本地存储库的脚本,一切都将得到解决。好的,但我应该把它放在哪里呢?
src/main/resources
ok吗?当您使用maven时,您不会将jar文件放在项目中的某个地方。您需要做的一切就是声明依赖关系。然后,您的项目使用本地存储库中的jar文件。它们通常是下载的,但在本例中,您可以使用maven安装显式地将其放入。然后,您只需添加依赖项,即可完成。如果您想在另一台电脑上进行设置,可以将其放置在您喜欢的位置,并创建脚本将其添加到新电脑上的本地存储库。仅将依赖项添加到您的本地存储库将导致其他人无法构建项目,因为他们没有此依赖项。最好使用@khmarbaiseeyes建议的存储库管理器,用于拥有自己服务器的用户,但这是coursera.org上的课程,可能只有一个用户。在这种情况下,在何处安装repository manager,以及其他用户将如何访问它。通过将jar添加到本地存储库的脚本,所有问题都将得到解决。