在构建之前将jar添加到maven本地存储库

Mel*_*ius 4 java maven

我有第三部分jar文件远程不存在项目目录中的文件,我想在执行mvn install时将此jar添加到本地存储库中,我当前的代码是这样做的

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-install-plugin</artifactId>
    <version>2.4</version>
    <executions>
        <execution>
            <phase>initialize</phase>
            <goals>
                <goal>install-file</goal>
            </goals>
            <configuration>
                <groupId>myJar1.0</groupId>
                <artifactId>myJar1.0</artifactId>
                <version>1.0</version>
                <packaging>jar</packaging>
                <file>myJar1.0.jar</file>
            </configuration>
        </execution>
    </executions>
</plugin>
Run Code Online (Sandbox Code Playgroud)

Gal*_*man 5

实际上并没有那么复杂.

有两种情况需要发出Maven的命令以手动将jar包含到Maven本地存储库中.

  • 您想要使用的jar在Maven中心存储库中不存在.
  • 您创建了一个自定义jar,需要用于另一个Maven项目.

脚步:

1. 安装mvn:

把你的罐子放在某处,让我们假设它在c:\:

 mvn install:install-file -Dfile=c:\myJar{version}.jar 
 -DgroupId=YOUR_GROUP -DartifactId=myJar -Dversion={version} -Dpackaging=jar
Run Code Online (Sandbox Code Playgroud)

现在,"myJar"jar被复制到Maven本地存储库.

2. pom.xml:

安装后,只需myJar在pom.xml中声明坐标即可.

<dependency>
     <groupId>YOUR_GROUP</groupId>
     <artifactId>myJar</artifactId>
     <version>{version}</version>
</dependency>
Run Code Online (Sandbox Code Playgroud)

3. 完成

构建它,现在"myJar" jar能够从你的Maven本地存储库中检索.


注意:此示例基于另一个示例,我建议您阅读以获取更多信息.


ale*_*xbt 5

使用存储库管理器是最好的解决方案。但是,这是一个可以完全通过pom.xml配置进行设置的解决方案(无需开发人员干预):

添加一个指向您的 jar 位置的本地存储库:

<repositories>
  <repository>
    <id>project-local-repo</id>
    <url>file://${project.basedir}/src/lib/</url>
  </repository>
</repositories>
Run Code Online (Sandbox Code Playgroud)

将您的库移动/重命名为 ${project.basedir}/src/lib/some-group-name/myJar-1.0.jar

然后你可以包含依赖项:

<dependency>
    <groupId>some-group-name</groupId>
    <artifactId>myJar</artifactId>
    <version>1.0</version>
</dependency>
Run Code Online (Sandbox Code Playgroud)

每次构建时都会获取依赖项。我在这里写了一个类似的答案:running Spring Boot for REST