【问题标题】:Maven: Prevent upload of default-jar - only upload jar-with-dependenciesMaven:防止上传 default-jar - 仅上传 jar-with-dependencies
【发布时间】:2011-08-06 05:10:48
【问题描述】:

我正在工作中评估 Maven 3。对于几个示例项目,我必须将它们部署到服务器(没有存储库),但这不是问题。

在我当前的示例项目中,我试图只上传“jar-with-dependencies”。 这正是我的问题。

一切正常,除了上传主工件和 jar-with-dependencies(由程序集插件创建)。

如何防止 Maven 或者部署阶段上传 main-jar 并且只上传给定或指定的文件(在这种情况下,程序集文件“jar-with-dependencies”)?

参考问题Only create executable jar-with-dependencies in Maven,我不能只将打包设置更改为 pom,因为它还会阻止程序集插件将我的类添加到 JAR 文件中。它只创建一个包含依赖项文件的 JAR 文件。

我希望我清楚我的问题,你可以帮助我;)

【问题讨论】:

  • 如果您尝试仅上传“jar-with-dependencies”,听起来您不了解 Maven 的概念。因为构建将产生一个工件,它是一个 jar(或 war、ear 等),而不是它的依赖项,这是 Maven-assembly-plugin 无法实现的。问题是你想达到什么目标?
  • 好吧,我的目标是了解如何指定 Maven 应该部署哪些文件,哪些不应该部署。我熟悉 Maven 的概念,jar-with-dependencies 只是学习如何使用 Maven 和常用插件的结果。在这两个 jar 的基础上,我想学习如何部署特定的文件。为了防止误解,您可以在同一个项目中将它们称为 first-jar 和 second-jar。我希望你明白我想说什么^^

标签: deployment maven jar


【解决方案1】:

如果您只是想了解如何添加要部署的文件,您可以查看这里:

http://mojo.codehaus.org/build-helper-maven-plugin/attach-artifact-mojo.html

这可能会有所帮助。如果没有更详细地表达您的需求。

【讨论】:

  • 它有点帮助,但仅适用于未来的项目;)我想配置部署插件(或其他东西,如果有其他东西)上传我指定的 jar - 覆盖插件的标准配置。我想告诉maven“上传这个jar,而不是这个”......类似的东西。现在,我不知道如何更具体^^希望你能理解我的想法
【解决方案2】:

似乎没有办法配置部署插件来过滤掉项目中的一些工件并选择性地部署其他工件。面对类似的问题,我们用ease-maven-plugin 解决了这个问题。它非常适合我们的发布过程,但可能不是每个人的正确选择,因为它要求采用两步法。在构建期间,您将列出所有工件并过滤掉您想要部署的那些。在第二步中,然后在单独的项目(或单独的配置文件)上运行 mvn deploy,其中工件列表作为唯一的工件附加到项目,然后将被部署。查看 ease maven 插件源代码中的示例以更好地了解其工作原理。

原始版本无法过滤掉项目的特定工件。我有 forked 该项目并添加了添加此内容的补丁。

【讨论】:

    猜你喜欢
    • 2012-01-31
    • 2011-07-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-06-28
    • 2010-11-23
    • 2013-05-21
    • 2020-10-12
    相关资源
    最近更新 更多