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