【问题标题】:Unable to disable generation of sources JAR with maven-release-plugin无法使用 maven-release-plugin 禁用源 JAR 的生成
【发布时间】:2011-02-22 10:06:42
【问题描述】:

我正在尝试使用 Maven 2.2.1 和 maven-release-plugin 2.0-beta-9 发布一个 Web 项目,但是在执行发布时总是失败:执行为 EAR 项目生成源 jar,这使得有意义,因为 EAR 项目没有任何来源。

[INFO] [INFO] [source:jar {execution: attach-sources}]
[INFO] [INFO] ------------------------------------------------------------------------
[INFO] [ERROR] BUILD ERROR
[INFO] [INFO] ------------------------------------------------------------------------
[INFO] [INFO] Error creating source archive: You must set at least one file.

为了尝试禁用为 EAR 项目构建源 JAR,我在我的 EAR 项目的 POM 中添加了以下内容(发布插件的版本在父 POM 中设置):

<build>
    <plugins>
        ...
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-release-plugin</artifactId>
            <configuration>
                <useReleaseProfile>false</useReleaseProfile>
            </configuration>
        </plugin>
    </plugins>
</build>

在签入此更改后再次运行该版本时,我在为 EAR 项目生成源 JAR 时遇到了同样的错误,即使之前的 POM sn-p 应该已禁用它。

我做错了什么?为什么仍在构建源 JAR?

编辑: 我试图通过添加以下 POM sn-p 使源插件包含我的 application.xml 文件,以便不会发生此错误:

<build>
    <plugins>
        ...
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-source-plugin</artifactId>
            <configuration>
                <includes>
                    <include>${basedir}/META-INF/**/*</include>
                </includes>
                <useDefaultExcludes>false</useDefaultExcludes>
            </configuration>
        </plugin>
    </plugins>
</build>

很遗憾,这也不能解决问题。

【问题讨论】:

  • 你为什么使用 maven-release-plugin 的 2.0-beta-9 ...2.0 存在..发布插件不是防止创建源 jar 的正确方法...据我所知,EAR 需要一些配置/属性文件……(源文件)?可能是我错了……
  • 我使用的是发布插件的旧版本,部分原因是正在发布的分支是针对该版本开发的,还因为我没有意识到 v2.0 已经发布。
  • 关于源文件,由于某种原因,源插件没有选择您放入 EAR 中的配置文件。
  • 我尝试将源插件配置为包含我的 application.xml(在非标准目录中),但仍然出现相同的错误。

标签: maven-2 release ear maven-release-plugin


【解决方案1】:

maven-source-plugin 2.1 版中存在一个错误,导致与您在此处描述的错误相同。较新的版本 >= 2.1.1 包含修复。这是此错误的链接以获取更多信息。 http://jira.codehaus.org/browse/MSOURCES-44

【讨论】:

    【解决方案2】:

    我终于明白了。我需要添加我的源文件作为参考的一部分:

    <resources>
        <resource>
            <directory>${project.basedir}</directory>
            <includes>
                <include>META-INF/**/*</include>
            </includes>
            <excludes>
                <exclude>target/**/*</exclude>
                <exclude>bin/**/*</exclude>
                <exclude>META-INF/.svn/**/*</exclude>
            </excludes>
        </resource>
    </resources>
    

    这样做使一切都恢复正常。我不需要对发布或源插件进行任何特殊配置即可使其工作。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-03-05
      • 1970-01-01
      • 1970-01-01
      • 2022-10-20
      • 1970-01-01
      • 2021-08-02
      相关资源
      最近更新 更多