Maven 2 无法使用maven release插件禁用源JAR的生成

Maven 2 无法使用maven release插件禁用源JAR的生成,maven-2,release,ear,maven-release-plugin,Maven 2,Release,Ear,Maven Release Plugin,我试图使用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]

我试图使用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中设置):


...
org.apache.maven.plugins
maven发布插件
假的
在签入此更改后再次运行发行版时,我在为EAR项目生成sources JAR时遇到了相同的错误,尽管这应该被前面的POM代码段禁用

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

编辑: 我已尝试使源插件包含my 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>

...
org.apache.maven.plugins
maven源插件
${basedir}/META-INF/**/*
假的

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

我终于找到了答案。我需要添加源文件作为引用的一部分:

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

${project.basedir}
META-INF/**/*
目标/**/*
垃圾箱/**/*
META-INF/.svn/**/*

这样做使一切都恢复正常。我不需要为版本或源插件进行任何特殊配置,就可以让它正常工作。

maven源插件2.1版中有一个bug,导致了与您在这里描述的相同的错误。更新版本>=2.1.1包含修复程序。这里有一个指向此Bug的链接,以获取更多信息

为什么你要使用maven发布插件的2.0-beta-9…2.0存在..发布插件不是阻止创建源JAR的正确方法…据我所知,EAR需要一些配置/属性文件…(源文件)?可能是我错了…我使用的是一个旧版本的发布插件,部分原因是该版本正是发布的分支开发所依据的版本,也因为我没有意识到v2.0已经过时。关于源文件,出于某种原因,源插件没有接收到您放在EAR中的配置文件。我已尝试将源插件配置为包含my application.xml(在非标准目录中),但仍然会出现相同的错误。
<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>