maven-deploy-plugin 不知道我在其中将其声明为构建插件的 pom 吗?
Isn't maven-deploy-plugin aware of the pom in which I declared it as a build plugin?
我有一个 Maven 项目。在 pom 中,我声明了组 ID、工件 ID、版本。
我将 maven-deploy-plugin 声明为构建插件,目标是 deploy:deploy-file。
然后我以相同的目标从 eclipse 启动了 maven,wuth -Durl 声明为 jvm arg。
Maven 构建失败,说我没有提供 groupid、artifactid、包、文件未定义。
为什么它不从 pom 中获取这些值?
一定有办法告诉插件使用 pom 值,对吧?因为 maven 人当然相信 DIE-DRY - 重复是邪恶的,不要重复自己?否则,我可以创建一个与其 pom 相矛盾的人工制品分布吗?
为什么,插件不知道我想部署项目,包括源代码而不只是一个 jar 或 pom?
为什么,插件不知道它应该只查看 pom artifactid 声明来获取 groupid 和 artifactid。
咆哮:
- 如果缺少这些功能,虽然我强烈希望它们没有丢失 - 为什么,插件开发人员不觉得这些是重要的功能?
目标 deploy:deploy-file
用于部署不是由 maven 构建的工件,这就是您必须指定参数的原因。
要部署由 maven(一个普通的 maven 项目)构建的工件,您应该只使用 deploy
目标并在 pom.xml 中指定目标存储库 distributionManagement
元素,像这样:
<distributionManagement>
<repository>
<uniqueVersion>false</uniqueVersion>
<id>corp1</id>
<name>Corporate Repository</name>
<url>file:///home/myfolder/.m2</url>
<layout>default</layout>
</repository>
</distributionManagement>
然后你可以在你的项目根目录中调用mvn deploy
。
这将是将项目部署到另一个 Maven 存储库的默认 Maven 方式。
我有一个 Maven 项目。在 pom 中,我声明了组 ID、工件 ID、版本。
我将 maven-deploy-plugin 声明为构建插件,目标是 deploy:deploy-file。
然后我以相同的目标从 eclipse 启动了 maven,wuth -Durl 声明为 jvm arg。
Maven 构建失败,说我没有提供 groupid、artifactid、包、文件未定义。
为什么它不从 pom 中获取这些值?
一定有办法告诉插件使用 pom 值,对吧?因为 maven 人当然相信 DIE-DRY - 重复是邪恶的,不要重复自己?否则,我可以创建一个与其 pom 相矛盾的人工制品分布吗?
为什么,插件不知道我想部署项目,包括源代码而不只是一个 jar 或 pom?
为什么,插件不知道它应该只查看 pom artifactid 声明来获取 groupid 和 artifactid。
咆哮:
- 如果缺少这些功能,虽然我强烈希望它们没有丢失 - 为什么,插件开发人员不觉得这些是重要的功能?
目标 deploy:deploy-file
用于部署不是由 maven 构建的工件,这就是您必须指定参数的原因。
要部署由 maven(一个普通的 maven 项目)构建的工件,您应该只使用 deploy
目标并在 pom.xml 中指定目标存储库 distributionManagement
元素,像这样:
<distributionManagement>
<repository>
<uniqueVersion>false</uniqueVersion>
<id>corp1</id>
<name>Corporate Repository</name>
<url>file:///home/myfolder/.m2</url>
<layout>default</layout>
</repository>
</distributionManagement>
然后你可以在你的项目根目录中调用mvn deploy
。
这将是将项目部署到另一个 Maven 存储库的默认 Maven 方式。