2014-02-21 20 views
1

我對maven還很陌生,所以要熟悉它是如何工作的,我一直在通過在互聯網上工作的樣本進行研究。有人可以解釋這個maven-jar-plugin配置嗎?

<plugin> 
    <groupId>org.apache.maven.plugins</groupId> 
    <artifactId>maven-jar-plugin</artifactId> 
    <configuration> 
     <archive> 
      <manifest> 
       <addClasspath>true</addClasspath> 
       <mainClass>${startupClass}</mainClass> 
       <classpathPrefix>${app.lib.dir}</classpathPrefix> 
      </manifest> 
     </archive> 
    </configuration> 
</plugin> 

從我可以告訴,它看起來好像這actualy抓住外部引用,並將它們包含在最終的JAR,這是沒有意義的,因爲我認爲使用Maven的整點:我碰到這個來是否有maven爲你工作的依賴?

謝謝,任何幫助表示讚賞。

回答

3

該插件被配置爲在jar的清單文件中創建類路徑條目。此外,它將創建一個MainClass條目,並具有startupClass屬性的值。而且,它會將它添加到類路徑條目的每個Maven依賴項添加到存儲在app.lib.dir屬性中的值中。

我在過去曾將這些與maven-dependency-plugin結合使用。我使用該插件將所有Maven jar複製到一個lib文件夾中,然後使用您擁有的插件,就像您在清單文件中設置classpath和main class條目一樣。

儘管我想指出,如果沒有< version />節點,該插件將不會將classPath條目添加到清單文件中。至少它不會與我的eclipse/maven版本。我建議將<版本> 2.4 </version>添加到插件定義中。

http://maven.apache.org/plugins/maven-jar-plugin/

+0

好的,我現在明白了。感謝您解釋這一點 –

相關問題