多次安装:在单个pom.xml中安装文件

Tho*_*sen 15 java maven-3 maven

(请在回答之前至少阅读:这是一个临时措施!不,我们不想设置本地存储库管理器并手动运行脚本)

我们有一个带有一些依赖项的遗留项目,我们有一个本地副本,包括source和javadoc,并且已被证明在生产中运行良好,但在Central中没有相同的质量.我们想要使用我们已经拥有的那些罐子.

我发现我可以手动运行一个适当复杂的mvn install:install-file命令来获取本地机器的存储库中注入的工件,但我希望它可以作为我们各种模块的正常maven构建的一部分.

鉴于我有一个包含多个jar的空白模块,每个都需要插入,install:install-file 我应该如何在我的pom.xml中执行此操作以完全符合正常的Maven构建?

或者我可以只是附加多个jar作为模块的输出,并以某种方式附加javadoc和源)?

(并且,请不要提交关于提交到中央或设置本地存储库管理器的建议.这是一个临时解决方案,直到我们有机会升级到更新版本的依赖项)

jta*_*orn 17

我会想象这样的东西会起作用(这会在每次构建时安装它):

<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-install-plugin</artifactId>
            <executions>
                <execution>
                    <id>inst_1</id>
                    <phase>initialize</phase>
                    <goals>
                        <goal>install-file</goal>
                    </goals>
                    <configuration>
                        <!-- config for file 1 -->
                    </configuration>
                </execution>
                <execution>
                    <id>inst_2</id>
                    <phase>initialize</phase>
                    <goals>
                        <goal>install-file</goal>
                    </goals>
                    <configuration>
                        <!-- config for file 2 -->
                    </configuration>
                </execution>
                <!-- execution file 3... -->
            </executions>
        </plugin>            
    </plugins>
</build>
Run Code Online (Sandbox Code Playgroud)

  • 我相信这个答案有误.在Eclipse Luna中,我必须将`<phase> initialize </ phase>`改为`<phase> install </ phase>`.否则Eclipse会将其标记为无效的生命周期 (2认同)