2015-06-11 21 views

回答

5

真的需要單罐插件的用法嗎? 您可以實現相同的目標(使用以下方法在一個jar包中打包應用程序和所有必需的依賴項,包括可傳遞的依賴項,併爲Class-Path和使用更穩定/標準的插件添加配置):

  • 配置使用Maven的Jar插件的應用程序JAR的類路徑條目和approach您的問題
  • 使用Maven Assembly Plugin打包一個單獨的JAR,包括依賴提到的那樣,在另一個計算器提問/回答解釋here

一個JAR可執行文件的例子(不使用一個-JAR插件)可能如下:

<build> 
    <plugins> 
     <plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-jar-plugin</artifactId> 
      <configuration> 
       <!-- your further configuration here --> 
      </configuration> 
     </plugin> 
     <plugin> 
      <artifactId>maven-assembly-plugin</artifactId> 
      <configuration> 
       <archive> 
        <manifest> 
         <mainClass>com.sample.MainApp</mainClass> 
         <!-- your further configuration here --> 
        </manifest> 
       </archive> 
       <descriptorRefs> 
        <descriptorRef>jar-with-dependencies</descriptorRef> 
       </descriptorRefs> 
      </configuration> 
      <executions> 
       <execution> 
        <id>make-assembly</id> 
        <phase>package</phase> 
        <goals> 
         <goal>single</goal> 
        </goals> 
       </execution> 
      </executions> 
     </plugin> 
    </plugins> 
</build> 

如果您需要進一步的classpath和Maven玩,我會建議在stackoverflow上也檢查這個問題here

3

Adding arbitrary manifest entries有可能在1.4.5:

<plugin> 
    <groupId>org.dstovall</groupId> 
    <artifactId>onejar-maven-plugin</artifactId> 
    <version>1.4.5</version> 
    <executions> 
     <execution> 
      <configuration> 
       <manifestEntries> 
        <Build-Status>Yes</Build-Status> 
       </manifestEntries> 
      </configuration> 
      <goals> 
       <goal>one-jar</goal> 
      </goals> 
     </execution> 
    </executions> 
</plugin> 

onejar-maven-plugin項目似乎並沒有在積極發展了,所以你可能要(例如maven-assembly-plugin)最終切換到其他的解決方案。


該插件在Maven Central上不可用。其他人把它的一個版本發佈到Maven Central with a different group ID

0

其他庫可以在啓動時添加到類路徑中。 屬性一jar.class.path可用於被添加到執行環境

一jar.class.path
額外類路徑。使用獨立於平臺的路徑分隔符'|'

實施例:--one-jar.class.path = 「./ LIB/two.jar | /opt/lib/three.jar」

來源:http://one-jar.sourceforge.net/index.php?page=details

相關問題