У меня проблемы со сборкой моего проекта Maven. Это требует сборки двух jar-файлов - один из них собран по умолчанию maven-jar-plugin , который просто содержит папки с соответствующими классами моего Java-кода, а другой - пользовательский, созданный maven-assembly- плагин в фаза пакета - это исполняемый файл jar со всеми добавленными файлами jar зависимостей.
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-assembly-
plugin:2.2-beta-5:single (executable-jar-generation) on project enhanced-
search: Execution executable-jar-generation of goal
org.apache.maven.plugins:maven-assembly-plugin:2.2-beta-5:single failed: For
artifact {com.fmr.es:enhanced-search:1.0:jar}: An attached artifact must
have a different ID than its corresponding main artifact. -> [Help 1]
Я следил за Вручную присоединить основной артефакт, если он собран maven-assembly-plugin в качестве ссылки, поскольку проблема более или менее та же.
Как сказано в ответе, я добавляю код ant-plugin, который перезаписывает мой основной jar-файл исполняемым, для установки в хранилище с фазой package .
Но прежде чем maven даже достигнет этого плагина, появляется ошибка выше. Я не могу сделать наоборот, так как должен быть исполняемый файл jar, созданный в первую очередь, чтобы перезаписать основной.
Больше отзывов очень ценятся.
Ниже приведен плагин сборки, который создает мой исполняемый файл jar вместе с assembly.xml
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<executions>
<execution>
<phase>package</phase>
<id>executable-jar-generation</id>
<goals>
<goal>single</goal>
</goals>
<configuration>
<finalName>executable-enhanced-search-1.0</finalName>
<descriptors>
<descriptor>assembly-jar.xml</descriptor>
</descriptors>
</configuration>
</execution>
</executions>
</plugin>
<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">
<baseDirectory>/</baseDirectory>
<formats>
<format>jar</format>
</formats>
<fileSets>
<fileSet>
<directory>../../target/classes</directory>
<includes>
<include>**/*</include>
</includes>
<outputDirectory>/</outputDirectory>
</fileSet>
</fileSets>
<dependencySets>
<dependencySet>
<outputDirectory>/</outputDirectory>
<unpack>false</unpack>
</dependencySet>
</dependencySets>
</assembly>
Ниже приведена специальная задача муравья, как указано в ссылке, которую я разместил выше.
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-antrun-plugin</artifactId>
<version>1.6</version>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>run</goal>
</goals>
<configuration>
<tasks>
<copy file="../../target/executable-enhanced-search-
1.0.jar" tofile="../../target/enhanced-search-
1.0.jar" overwrite="true" />
</tasks>
</configuration>
</execution>
</executions>
</plugin>