我有一个 Maven 3.3 项目,主要输出是一个 war 文件:
<artifactId>pro</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>war</packaging>
我正在使用 maven 插件来构建一个 jar 文件,该文件进入target/pro-1.0-SNAPSHOT.jar
并且可以正常工作。
我想将此 jar 安装到本地 maven repo,所以我使用 maven install 插件来执行此操作:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-install-plugin</artifactId>
<version>2.5.2</version>
<configuration>
<classifier>jar</classifier>
<packaging>jar</packaging>
<file>target/pro-1.0-SNAPSHOT.jar</file>
</configuration>
<executions>
<execution>
<id>do-jar-install</id>
<phase>install</phase>
<goals>
<goal>install</goal>
</goals>
</execution>
</executions>
</plugin>
整个构建工作正常,除了 jar 安装步骤是安装战争,而不是 jar。我该如何覆盖这个?
我在这里看看我可以使用什么:http ://maven.apache.org/plugins/maven-install-plugin/examples/installing-secondary-artifacts.html
这是我构建的日志:
**
构建 jar:/Users/mike/code/workspace/pro/target/pro-1.0-SNAPSHOT.jar
[信息] --- maven-install-plugin:2.5.2:install (do-jar-install) @ pro
[信息] 将 /Users/mike/code/workspace/pro/target/pro-1.0-SNAPSHOT.jar 安装到 /Users/mike/.m2/repository/net/mikeski/pro/1.0-SNAPSHOT/pro-1.0-SNAPSHOT 。战争
注意最后一行 - 它正在拿起罐子,但正在安装一场战争
我该如何解决?
根据要求,这是 jar 插件配置:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>2.4</version>
<executions>
<execution>
<id>create-jar</id>
<phase>install</phase>
<goals>
<goal>jar</goal>
</goals>
</execution>
</executions>
</plugin>
它会在项目中创建一个 jar 文件,它是正确的 jar。如果我将安装在我的 repo 中的战争复制到一个jar 中(所以我只是更改扩展名)我的其他项目可以很好地选择它。