#java #maven #jar #compilation #dynamic-compilation
Вопрос:
Я хочу добавить банки из другой папки в мою основную банку во время выполнения, чтобы сделать основную банку легкой. Как это сделать? Я использую maven. Я думал о предоставленной области, но я не знаю, как добавить эти банки.
./lib/hikari.jar
./lib/h2.jar ./
=============== =============
= = = =
= Hikari.jar = = =
= = ---------> = Main.jar =
= h2.jar = = =
= = = =
=============== =============
Ответ №1:
Это зависит от того, как вы делаете банку.
Вы можете сделать следующее: используйте плагин maven-dependency-для копирования своих библиотек, а затем настройте плагин maven-jar для использования библиотек из пути к классу, не нужно изменять область зависимостей.
<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>