簡體   English   中英

在Maven中打包沒有第三方依賴的Jar

[英]Packaging a Jar with no third party dependencies in Maven

我已經用Java創建了幾個項目,希望將它們打包在一起。 我創建了一個包裝器項目來容納這些東西。 所以我們差不多有這樣的設置

  • 項目1-依賴ThirdPartyProject1
  • 項目2-依賴ThirdPartyProject2
  • 項目3-依賴ThirdPartyProject3
  • WrapperProject-依賴於Project1,Project2和Project3。

我們正在打包一個使用WrapperProject的項目,我的主管希望將第三方依賴項打包到與在組裝過程中生成的WrapperProject.jar分開的單獨文件中。

我想知道這是否可行以及如何實現? 我一直在研究Maven依賴插件,但之前沒有使用過它,所以我不太確定它是如何工作的。 最終,我想要一個看起來像這樣的lib文件夾和一個Jar文件。

庫-ThirdPartyProject1.jar-ThirdPartyProject2.jar-ThirdPartyProject3.jar

WrapperProject.jar-Project1.jar-Project2.jar-Project3.jar

您可以使用復制資源插件來創建/ target / lib文件夾。 或者,您可以使用Assembly插件來創建所有依賴項的jar / zip。 我不確定您對lib目錄的處理方式,但是將其作為zip文件可能更方便。

如果第三方jar在maven存儲庫中可用,則可以使用普通的maven構建命令“ mvn軟件包”,否則jar是針對項目的自定義項目,則應使用命令“ mvn install”將該jar安裝到maven本地存儲庫中。 ”。 請參考以下鏈接,

http://www.mkyong.com/maven/how-to-include-library-manully-into-maven-local-repository/

完成后,將該依賴關系和以下構建配置包含到pom.XML中,然后更改主類。

 <build>
  <plugins>
    <plugin>
      <artifactId>maven-assembly-plugin</artifactId>
      <configuration>
        <archive>
          <manifest>
            <mainClass>fully.qualified.MainClass</mainClass>
          </manifest>
        </archive>
        <descriptorRefs>
          <descriptorRef>jar-with-dependencies</descriptorRef>
        </descriptorRefs>
      </configuration>
    </plugin>
  </plugins>
</build> 

現在構建項目,然后您將獲得兩個jar,一個不具有依賴項,另一個不具有依賴項類。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM