2010-05-21 72 views
1

我試圖使用Maven 2.2.1和maven-release-plugin 2.0-beta-9發佈一個web項目,但它在發佈時總是失敗:執行生成EAR項目的源代碼jar,這是有道理的,因爲EAR項目沒有任何源代碼。無法使用maven-release-plugin禁用源代碼JAR的生成

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

要嘗試禁用源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> 

不幸的是,這樣做不解決問題。

+0

爲什麼使用maven-release-2.0的2.0-beta-9 ... 2.0版本......釋放插件並不是阻止創建源碼罐的正確方法......就我而言可以記住一個EAR需要一些配置/屬性文件...(源文件)?可能是我錯了... – khmarbaise 2010-05-21 15:35:15

+0

我使用的是舊版本的發佈插件,部分原因是因爲那是發佈的分支版本是針對開發的,也是因爲我沒有意識到v2.0是出。 – 2010-05-21 15:52:53

+0

關於源文件,出於某種原因,源插件沒有選擇放入EAR中的配置文件。 – 2010-05-21 15:53:39

回答

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> 

這樣做使所有工作再次。我並不需要任何特殊配置來使發佈或源代碼插件能夠正常工作。