1

我正在尝试使用 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 片段应该已禁用它。

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

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

<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>

不幸的是,这也不能解决问题。

4

2 回答 2

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>

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

于 2010-05-21T18:29:49.767 回答
0

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

于 2013-03-21T15:00:54.810 回答