【问题标题】:How to include library jar from lib to main jar with maven如何使用 maven 将库 jar 从 lib 包含到主 jar
【发布时间】:2021-09-10 04:07:09
【问题描述】:
我想在运行时将 jar 从另一个文件夹添加到我的主 jar,以使主 jar 轻量级。怎么做?我正在使用 Maven。我考虑了提供的范围,但我不知道如何添加这些罐子。
./lib/hikari.jar
./lib/h2.jar ./
=============== =============
= = = =
= Hikari.jar = = =
= = ---------> = Main.jar =
= h2.jar = = =
= = = =
=============== =============
【问题讨论】:
标签:
java
maven
jar
compilation
dynamic-compilation
【解决方案1】:
这取决于你是如何制作罐子的。
您可以执行以下操作,使用 maven-dependency-plugin 复制您的库,然后配置 maven-jar-plugin 以使用类路径中的库,无需更改依赖项的范围。
<plugin>
<artifactId>maven-dependency-plugin</artifactId>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>copy-dependencies</goal>
</goals>
<configuration>
<outputDirectory>${project.build.directory}/lib</outputDirectory>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>3.2.0</version>
<configuration>
<archive>
<manifest>
<addClasspath>true</addClasspath>
<classpathPrefix>lib/</classpathPrefix>
<mainClass>your.main.Class</mainClass>
<useUniqueVersions>false</useUniqueVersions>
</manifest>
</archive>
</configuration>
</plugin>