如何mvn install:install-file
在编译阶段之前运行相当于。我们有lib/foo-1.0.0.jar
一个 Maven 存储库中不存在的文件。因此,我们使用 mvn install:install-file 手动安装它,并在编译阶段将其作为依赖项。但是,如果该文件未安装在本地存储库中,则会失败并出现编译错误。我如何指示 maven 在编译之前自动安装它
问问题
3145 次
2 回答
2
使用系统依赖范围
<dependency>
<groupId>com.company.groupId</groupId>
<artifactId>foo</artifactId>
<version>1.0.0</version>
<scope>system</scope>
<systemPath>${basedir}/lib/foo-1.0.0.jar</systemPath>
</dependency>
${basedir}
- 是您pom.xml
编辑
的目录,您
也可以使用build-helper-maven-plugin
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>build-helper-maven-plugin</artifactId>
<version>1.7</version>
<executions>
<execution>
<id>attach-artifacts</id>
<phase>package</phase>
<goals>
<goal>attach-artifact</goal>
</goals>
<configuration>
<artifacts>
<artifact>
<file>${basedir}/lib/foo-1.0.0.jar</file>
<type>jar</type>
<classifier>optional</classifier>
</artifact>
</artifacts>
</configuration>
</execution>
</executions>
</plugin>
于 2012-08-22T19:01:27.613 回答
1
安装公司范围的 Maven 代理,例如 Nexus,并将工件放在那里。每个开发人员都需要更改他们settings.xml
以指向该代理。将 jar 签入版本控制通常不是一个好主意,尤其是如果您想迁移到分布式 SCM。
于 2012-08-23T08:09:18.597 回答