Error creating prefabricated archive: you must install at least one file

I have a multi-module maven project with module mod1 , which I am trying to add to the /project jars folder using mvn assembly:assembly from the application folder, where the pom.xml application is located.

Mistake:

 [ERROR] Failed to execute goal org.apache.maven.plugins:maven-assembly-plugin:2.3:single (assembly) on project wrapper: Failed to create assembly : Error creating assembly archive bin: You must set at least one file. -> [Help 1] 

Project folder structure:

 app | pom.xml | src | main | ... wrapper | pom.xml | src | main | ... mod1 | pom.xml | src | main | ... // After mvn assembly:assembly project jars | mod1.jar 

mod1 pom.xml

 <project> <groupId>org.test</groupId> <artifactId>mod1</artifactId> <version>1.0-SNAPSHOT</version> <packaging>jar</packaging> </project> 

wrapper pom.xml

 <groupId>org.test.app</groupId> <artifactId>wrapper</artifactId> <version>1.0-SNAPSHOT</version> <packaging>pom</packaging> <build> <plugins> <plugin> <artifactId>maven-assembly-plugin</artifactId> <version>2.3</version> <executions> <execution> <id>assembly</id> <phase>package</phase> <goals> <goal>single</goal> </goals> <configuration> <descriptors> <descriptor>src/main/assembly/modules-assembly.xml</descriptor> </descriptors> </configuration> </execution> </executions> </plugin> </plugins> </build> 

Descriptor ( src/main/assembly/modules-assembly.xml ):

 <assembly> <id>bin</id> <baseDirectory>/</baseDirectory> <formats> <format>zip</format> </formats> <includeBaseDirectory>false</includeBaseDirectory> <moduleSets> <moduleSet> <useAllReactorProjects>true</useAllReactorProjects> <includes> <include>org.test:mod1.jar</include> </includes> <binaries> <attachmentClassifier>jar-with-dependencies</attachmentClassifier> <outputDirectory>/project jars</outputDirectory> <unpack>false</unpack> </binaries> </moduleSet> </moduleSets> </assembly> 

UPDATE

app pom.xml

 <project> <groupId>org.test</groupId> <artifactId>app</artifactId> <version>1.0-SNAPSHOT</version> <packaging>pom</packaging> <modules> <module>../mod1</module> <module>../wrapper</module> </modules> </project> 
+7
java maven maven-assembly-plugin
source share
1 answer

Why do you declare both wrapper and mod1 modules in the application application? should the application use 'mod1' in lib lib?

Do it:

 Add parent pom.xml and 3 modules : +app +wrapper +mod1 

pom app:

 <dependency> <groupId>${groupId}</groupId> <artifactId>mod1</artifactId> </dependency> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-jar-plugin</artifactId> <configuration> <archive> <manifest> <addClasspath>true</addClasspath> <classpathPrefix>project/</classpathPrefix> </manifest> </archive> </configuration> </plugin> 

Create a dependency assembly.xml and filter with <includes> and <excludes> .

To create an assembly, use this answer: Maven assembly with dependencies

+1
source share

All Articles