我正在尝试使用Maven创建一个带有依赖项的可执行jar。并尝试使用命令制作jar:
mvn clean assembly:single
mvn clean compile assembly:single
mvn clean compile package assembly:single
我得到了jar,但它没有项目代码。请指点我正确的方向。我的POM构建部分如下所示。
<build>
<plugins>
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<configuration>
<archive>
<manifest>
<mainClass>My.Full.Path.Main</mainClass>
</manifest>
</archive>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
</configuration>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
答案 0 :(得分:0)
您的项目具有非标准目录布局,请告诉maven您的源代码位于何处。
<build>
<sourceDirectory>src/main/java</sourceDirectory>
<testSourceDirectory>src/test/java</testSourceDirectory>
<resources>
<resource>
<directory>src/main/resources</directory>
</resource>
</resources>
<testResources>
<testResource>
<directory>src/test/resources</directory>
</testResource>
</testResources>
</build>
将目录位置(如src/main/java
)替换为项目源位置。
如果您的现有项目包含更多src
目录,则可以使用build-helper-maven-plugin:add-source
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>build-helper-maven-plugin</artifactId>
<version>1.8</version>
<executions>
<execution>
<id>add-source</id>
<phase>generate-sources</phase>
<goals>
<goal>add-source</goal>
</goals>
<configuration>
<sources>
<source>some directory</source>
</sources>
</configuration>
</execution>
</executions>
</plugin>
构建正确配置的项目使用命令
mvn package