java - maven-deploy-plugin 不知道我在其中将其声明为构建插件的 pom 吗?

标签 java maven maven-plugin

我有一个 Maven 项目。在 pom 中,我声明了组 ID、 Artifact ID、版本。

我将 maven-deploy-plugin 声明为构建插件,目标是 deploy:deploy-file。

然后我以相同的目标从 eclipse 启动了 maven,wuth -Durl 声明为 jvm arg。

Maven 构建失败,提示我没有提供 groupid、artifactid、包、文件未定义。

为什么它不从 pom 中获取这些值?

一定有办法告诉插件使用 pom 值,对吧?因为 maven 人当然相信 DIE-DRY - 重复是邪恶的,不要重复自己?否则,我可以创建一个与其 pom 相矛盾的人工制品分布吗?

  1. 为什么,插件不知道我想部署项目,包括源代码而不仅仅是一个 jar 或 pom?

  2. 为什么,插件不知道它应该只查看 pom artifactid 声明来获取 groupid 和 artifactid。

咆哮:

  • 如果缺少这些功能,虽然我强烈希望它们没有丢失 - 为什么,插件开发人员不觉得这些是重要的功能?

最佳答案

目标 deploy:deploy-file 用于部署不是由 maven 构建的 Artifact ,这就是您必须指定参数的原因。

要部署一个由 maven 构建的 Artifact (一个普通的 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 方式。

关于java - maven-deploy-plugin 不知道我在其中将其声明为构建插件的 pom 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45312708/

相关文章:

java - 在 Maven 中,添加一个文件夹作为源文件夹,但不要将其包含在源 jar 中

java - Hibernate和mysql错误: Cannot add or update a child row

java - onActivityResult 没有给出任何结果

java - 在 Netbeans 项目中获取文件路径时遇到问题

Spring ExceptionalHandler 的 Java 测试

maven-2 - maven-dependency-plugin:copy 尝试复制类

java - Maven 在 Eclipse 中运行 JUnit 测试,但从命令行编译失败

java - Spring 启动错误 : java. lang.NoSuchMethodError : org. apache.tomcat.util.scan.StandardJarScanner.setJarScanFilter

java - 在netbeans中跟踪java应用程序并在所有变量或返回的变量中搜索子字符串并在出现时停止跟踪

java - 如何解决 Maven Invoker API 警告 : Maven will be executed in interactive mode, 但没有配置输入流