大家好我使用maven来构建Java项目我很陌生,所以我确信我的问题的解决方案会非常简单。我已经安装了Eclipse Maven插件并创建了一个maven项目。我现在希望打包这个项目并将其作为可运行的jar文件分发。但是当我跑步时
mvn package
然后尝试运行jar文件我收到以下错误:
Exception in thread "main" java.lang.NoClassDefFoundError: main/Formatter
此特定文件的pom如下所示:
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>GROUP</groupId>
<artifactId>pcap.csv.xml</artifactId>
<version>0.0.1-SNAPSHOT</version>
<dependencies>
<dependency>
<groupId>net.sf.opencsv</groupId>
<artifactId>opencsv</artifactId>
<version>2.0</version>
</dependency>
</dependencies>
</project>
非常感谢任何帮助。
答案 0 :(得分:2)
您需要在jar插件中指定主类:
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<configuration>
<archive>
<manifest>
<addClasspath>true</addClasspath>
<mainClass>main.Formatter</mainClass>
</manifest>
</archive>
</configuration>
</plugin>
</plugins>
</build>
如果你想分发一个罐子,你需要使用一个单罐子(fatjar,jarjar,onejar等)