亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

使用Maven在JAR中包括依賴項

使用Maven在JAR中包括依賴項

躍然一笑 2019-06-19 15:35:55
使用Maven在JAR中包括依賴項是否有辦法強制maven(2.0.9)將所有依賴項包含在單個JAR文件中?我有一個構建成一個JAR文件的項目。我也希望將依賴項中的類復制到JAR中。最新情況:我知道我不能只是在JAR文件中包含一個JAR文件。我正在尋找一種方法來解壓指定為依賴項的JAR,并將類文件打包到我的JAR中。
查看完整描述

3 回答

?
慕田峪7331174

TA貢獻1828條經驗 獲得超13個贊

您可以使用帶有“jar-with-依賴關系”描述符的maven-程序集插件來完成此操作。下面是我們的柚子文件中的一個執行以下操作的相關塊:

  <build>
    <plugins>
      <!-- any other plugins -->
      <plugin>
        <artifactId>maven-assembly-plugin</artifactId>
        <executions>
          <execution>
            <phase>package</phase>
            <goals>
              <goal>single</goal>
            </goals>
          </execution>
        </executions>
        <configuration>
          <descriptorRefs>
            <descriptorRef>jar-with-dependencies</descriptorRef>
          </descriptorRefs>
        </configuration>
      </plugin>
    </plugins>
  </build>


查看完整回答
反對 回復 2019-06-19
?
當年話下

TA貢獻1890條經驗 獲得超9個贊

使用Maven 2,正確的方法是使用Maven 2組裝插件它有一個預定義描述符文件為此,您只需在命令行上使用:

mvn assembly:assembly -DdescriptorId=jar-with-dependencies

如果要使這個JAR可執行,只需將要運行的主類添加到插件配置:

<plugin>
  <groupId>org.apache.maven.plugins</groupId>
  <artifactId>maven-assembly-plugin</artifactId>
  <configuration>
    <archive>
      <manifest>
        <mainClass>my.package.to.my.MainClass</mainClass>
      </manifest>
    </archive>
  </configuration></plugin>

如果要將該程序集創建為正常生成過程的一部分,則應將單株目錄單目標(目標)assembly目標只應從命令行運行到生命周期階段(package),類似這樣的事情:

<plugin>
  <groupId>org.apache.maven.plugins</groupId>
  <artifactId>maven-assembly-plugin</artifactId>
  <executions>
    <execution>
      <id>create-my-bundle</id>
      <phase>package</phase>
      <goals>
        <goal>single</goal>
      </goals>
      <configuration>
        <descriptorRefs>
          <descriptorRef>jar-with-dependencies</descriptorRef>
        </descriptorRefs>
        ...      </configuration>
    </execution>
  </executions></plugin>

調整configuration元素以滿足您的需要(例如,使用所述的清單內容)。


查看完整回答
反對 回復 2019-06-19
?
慕仙森

TA貢獻1827條經驗 獲得超8個贊

如果您想要執行一個可執行的JAR文件,它們也需要設置主類。所以完整的配置應該是。

    <plugins>
            <plugin>
                 <artifactId>maven-assembly-plugin</artifactId>
                 <executions>
                     <execution>
                          <phase>package</phase>
                          <goals>
                              <goal>single</goal>
                          </goals>
                      </execution>
                  </executions>
                  <configuration>
                       <!-- ... -->
                       <archive>
                           <manifest>
                                 <mainClass>fully.qualified.MainClass</mainClass>
                           </manifest>
                       </archive>
                       <descriptorRefs>
                           <descriptorRef>jar-with-dependencies</descriptorRef>
                      </descriptorRefs>
                 </configuration>
         </plugin>
   </plugins>


查看完整回答
反對 回復 2019-06-19
  • 3 回答
  • 0 關注
  • 738 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號