1
我想基於Maven構建我的應用程序的jar文件。所以我需要不包含外部jar庫到我的版本。我需要我的應用程序在運行時從本地Maven存儲庫或本地文件夾提供此外部依賴項,那些應用程序將包含這些外部庫。 配置我的POM文件的這種依賴關係是這樣的:如何用外部jar庫建立一個maven可執行jar文件?
<profiles>
<profile>
<id>compile</id>
<dependencies>
<dependency>
<groupId>groupId</groupId>
<artifactId>some.artifact</artifactId>
<version>1.0</version>
</dependency>
</dependencies>
</profile>
,並試圖以這個前綴-Pcompile
運行這個罐子。我正在使用這個answer。
但是在運行時,當我試圖執行一個方法時,使用這個外部庫,我從我的外部庫中得到了java.lang.NoClassDefFoundError
和我的類的名字。
那麼我如何構建一個使用本地存儲的外部jar庫?
喜歡這裏:https://stackoverflow.com/questions/11758594/how-do-i-put-all-required-jar-files-in-a -library-folder-inside-the-final-jar-fil – PeterMmm
構建一個包含所有依賴關係的獨立可執行jar文件比較常見。使部署變得更加簡單和安全。 https://stackoverflow.com/questions/574594/how-can-i-create-an-executable-jar-with-dependencies-using-maven?rq=1 – Thilo
@Thilo:如果你有一個庫,這是行不通的像Bouncycastle在依賴關係中,因爲它是一個簽名的加密提供者,而jar依賴關係會殺死jar簽名,從而導致BC失敗。 – Robert