Я создаю отдельное Java-приложение с Maven, и я включаю зависимости в файл JAR с maven-dependecy-plugin следующим образом:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<executions>
<execution>
<id>copy-dependencies</id>
<phase>prepare-package</phase>
<goals>
<goal>copy-dependencies</goal>
</goals>
<configuration>
<outputDirectory>${project.build.directory}/classes/lib</outputDirectory>
<overWriteReleases>false</overWriteReleases>
<overWriteSnapshots>false</overWriteSnapshots>
<overWriteIfNewer>true</overWriteIfNewer>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<configuration>
<archive>
<manifest>
<addClasspath>true</addClasspath>
<classpathPrefix>lib/</classpathPrefix>
<mainClass>theMainClass</mainClass>
</manifest>
</archive>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-assembly-plugin</artifactId>
<executions>
<execution>
<id>create-my-bundle</id>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
<configuration>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
</configuration>
</execution>
</executions>
</plugin>
это включает в себя зависимости в сгенерированном файле jar в папке lib, и jar работает и работает нормально, но проблема заключается в другом сгенерированном файле jar appname-1.0-jar-with-dependencies.jar
.
ВЫПУСК: Я не уверен, является ли это проблемой или нет, но я заметил в целевой папке в сгенерированном appname-1.0-jar-with-dependencies.jar
, что он содержит дубликаты файлов приложений, такие как:
- все sql, файлы свойств, xml-файлы существуют дважды.
- все файлы классов Java .class существуют дважды.
- Есть много файлов Overview.html и license.txt, связанных с зависимостями.
Я не уверен, что это правильно или нет, также мне нужно, чтобы кто-то объяснил мне, какова важность этого сгенерированного jar-файла, так как я не знаком с этим плагином.
пожалуйста, сообщите, спасибо.