[英]With Maven, how can I build a distributable that has my project's jar and all of the dependent jars?
[英]I want to load all JARs from my libs project folder with Maven
我有一個使用 Maven 的 Java 項目。 在我的項目中,我有一個名為libs
的文件夾,其中包含我無法從 Internet/外部存儲庫加載的所有 JAR。
我的問題是如何指定 Maven 在打包、構建等過程中包含這些 JAR?
Maven 新手,抱歉,如果這是一個愚蠢的問題。
編輯:我有一個自動工具,可以在我的 Git 上查找我的pom.xml
以在不同的環境中構建和部署我的項目。 因此,按照此處的建議將其添加到本地 Maven 存儲庫中將無濟於事,因為它只能在我的 PC 上運行。 如果我在 JAR 中添加了一個libs
文件夾,那么無論我身在何處,它都可以使用。
如果不清楚或者我弄錯了,請在評論中問我。
與您的編輯相反,添加到本地 Maven 存儲庫會有所幫助,並且可以按如下方式自動化:
maven-install-plugin
的當前版本是2.5.2
。我會使用它而不是默認版本。) <configuration>
應如下所示:
<configuration> <file>${project.basedir}/path/to/your/libs/lib-X.jar</file> <repositoryLayout>default</repositoryLayout> <!-- match the dependency declaration for this artifact --> <groupId>logan.wlv</groupId> <artifactId>lib-X</artifactId> <version>xyz</version> <packaging>jar</packaging> <!-- -------------------------------------------------- --> </configuration>
將install-plugin
聲明放入構建配置文件中,例如lib
。
在調用首先解決依賴關系的任何階段(例如compile
)之前,在每台新 PC 上運行mvn initialize -P lib
一次(並且在libs
的內容之后運行一次,因此install-plugin
聲明已更改)。
或者
通過以下方式進一步自動化:
<profile> <id>lib</id> <activation> <file> <missing>${settings.localRepository}/logan/wlv/lib-X/xyz/lib-Xx.yzjar</missing> </file> </activation> ... <profile>
這樣就可以在第一次沒有顯式配置文件激活的情況下只運行mvn initialize
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.