使用pom中的maven-install-plugin将外部库导入本地存储库中

问题描述 投票:1回答:1

我的问题是,我想将一个外部库自动导入到用户的本地Maven存储库中。

这是我使用maven-install-plugin的方式:

       <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-install-plugin</artifactId>
            <version>2.5.2</version>
            <executions>
                <execution>
                    <id>install-external</id>
                    <phase>clean</phase>
                    <configuration>
                        <file>${basedir}/myjar.jar>
                        <repositoryLayout>default</repositoryLayout>
                        <groupId>mygroupid</groupId>
                        <artifactId>myartefactid</artifactId>
                        <version>myversion</version>
                        <packaging>jar</packaging>
                        <generatePom>true</generatePom>
                    </configuration>
                    <goals>
                        <goal>install-file</goal>
                    </goals>
                </execution>
            </executions>
        </plugin>

但是在pom中,要使其正常工作,我必须在两个不同的命令中执行:

mvn clean 
mvn install

如果我只是跑步

 mvn clean install

在安装阶段无法解决我的依赖关系是失败的(除非我单独进行过mvn clean,而且我当然没有清理本地存储库)。仅当我单独运行“ mvn clean”时,Clean才调用该插件。

我想在运行'mvn install'时自动导入我的依赖项。或至少在单个命令中运行“ mvn clean install”时。

java maven plugins install
1个回答
0
投票

您的解决方案不能仅使用一个Maven命令。

如果您以mvn something启动Maven,则将解决依赖关系first,因此将找不到在构建期间由插件安装的任何内容。

正如khmarbaise已经说过的,解决方案是首先将工件放入存储库中。通常的解决方案是您的公司Nexus / Artifactory(如果进行严重的Maven开发,应该有一个解决方案)。

如果确实不可能,则可以按照以下说明使用目录作为Maven存储库:https://stackoverflow.com/a/28762617/927493

© www.soinside.com 2019 - 2024. All rights reserved.