Я пытаюсь использовать плагин Assembly включить dependecies, а такжеMaven сборки плагин включая баночки зависимостей и внешних файлов
Вот мой сборки плагин
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<version>2.4.1</version>
<executions>
<execution>
<id>create-executable-jar</id>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
</execution>
</executions>
<configuration>
<descriptorRefs>
<descriptorRef>
jar-with-dependencies
</descriptorRef>
</descriptorRefs>
<descriptors>
<descriptor>src/assembly/assembly.xml</descriptor>
</descriptors>
<archive>
<manifest>
<mainClass>com.sarm.myproject.XMLParser.LPUnMarshaller</mainClass>
</manifest>
</archive>
</configuration>
</plugin>
вот мой assembly.xml дескриптор , я сделал id таким же, как descritpor ref, поскольку он создавал другую банку для этого дескриптора. Таким образом, у меня есть два дескриптора, один из которых представляет собой дескриптор jar-with-dependents ref, а один - нижний дескриптор, в этом случае происходит то, что он создает две банки, а вторая банка перезаписывает предыдущую банку. Как можно включить эти два в одну банку.
<assembly xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.2"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.2 http://maven.apache.org/xsd/assembly-1.1.2.xsd">
<id>jar-with-dependencies</id>
<formats>
<format>jar</format>
</formats>
<fileSets>
<fileSet>
<directory>${basedir}</directory>
<includes>
<include>*.xml</include>
</includes>
<excludes>
<exclude>30000dests.xml</exclude>
</excludes>
</fileSet>
<fileSet>
<directory>${basedir}/test</directory>
<includes>
<include>*.xml</include>
</includes>
</fileSet>
</fileSets>
</assembly>
Edit: Я пробовал некоторые другие подходы, и я видел, что, если я использую assembly.xml в качестве дескриптора, новая баночка создается вдоль стороны какой-либо другой сосуд по умолчанию, который создается как хорошо. Так что я получаю две банки. Метка по умолчанию - это исполняемый файл, такой как плагин jar. даже если плагин сборки настроен на наличие manifest.mf с моим основным именем класса, jar, созданный через assmbly.xml, не является исполняемым и имеет папку имени моего проекта с исполняемым банком внутри него.
Я использую mvn clean install для создания моего проекта и файла jar.
Спасибо за ответ. Идея заключалась в том, чтобы иметь только одну банку. С зависимостями и внешними файлами. В двух баночках, у которых есть libs, а у одного есть только внешний, а второй нет даже классов, они не очень мне очень помогут. Я буду запускать только банку. Кроме того, банки выходят в разобранном виде. Если я использую assembly.xml с dependencysets THEN, у меня могут быть банки, но тогда я пропущу код. Почему скомпилированные классы не упаковываются с банкой, созданной с помощью assembly.xml. Мне очень понравилась идея использовать assembly.xml, она настолько гибкая. – sarmahdi