我有一个使用 JAR 打包的 Maven 项目。当我运行安装阶段时,它将在我的本地存储库中安装 Project-1.0.jar 和 Project-1.0.pom 文件。
现在我想用分类器构建 JAR。这很简单:我只需将这一行添加到我的 jar 插件配置中:
<plugin>
<artifactId>maven-jar-plugin</artifactId>
<configuration>
<classifier>whatever</classifier>
[...]
</configuration>
</plugin>
现在,它在我的 repo 中安装了 Project-1.0-whatever.jar,但不再安装 POM。
万一这很重要,我想将此功能与配置文件结合使用,即我想使用具有不同配置文件的不同分类器构建 JAR。
我想要 POM 的原因是因为我还有其他项目依赖于这个。当我构建其中一个时,它会尝试为这个依赖项找到一个 POM。如果不能,它会很乐意使用 JAR,但这对我来说不是一个可以接受的解决方案,原因如下:
它会尝试联系外部存储库并查找它已经够糟糕了,但更糟糕的是,我们使用共享存储库,因此它会从共享存储库下载 POM,这可能不是我想要的 - 例如,如果我只是对 POM 进行了更改,并正在尝试对其进行测试。
是否有解决方案,或者任何人都可以提出合理的解决方法?
编辑:我刚刚发现该问题影响 Maven 2.2.1,但不影响 Maven 3.0.5。因此,这可能是版本之间的错误或功能差异。我仍然会对 Maven 2 的解决方案/解决方法感兴趣,因为将项目迁移到 Maven 3 是一件复杂的事情,而且不太可能发生。