Java &引用;错误:无法找到或加载主类com.mycompany.App“;尝试执行Maven生成的Jar时
我正试图在Windows7上构建一个maven java程序,我的java版本是1.7。我得到了这个错误: “错误:尝试执行Maven生成的Jar时无法找到或加载主类com.mycompany.App” 尽管Jar中存在Java &引用;错误:无法找到或加载主类com.mycompany.App“;尝试执行Maven生成的Jar时,java,maven,jar,main,mainclass,Java,Maven,Jar,Main,Mainclass,我正试图在Windows7上构建一个maven java程序,我的java版本是1.7。我得到了这个错误: “错误:尝试执行Maven生成的Jar时无法找到或加载主类com.mycompany.App” 尽管Jar中存在com/mycompany/App.class,并且它有一个main方法。下面是我的META-INF/MANIFEST.MF的样子: Manifest-Version: 1.0 Archiver-Version: Plexus Archiver Created-By: Apach
com/mycompany/App.class
,并且它有一个main方法。下面是我的META-INF/MANIFEST.MF
的样子:
Manifest-Version: 1.0
Archiver-Version: Plexus Archiver
Created-By: Apache Maven
Built-By: me
Build-Jdk: 1.7.0_03
Main-Class: com.mycompany.App
Class-Path: C:/Users/me/.m2/repository/com/mycompany/commons/2.1-SNAPSHOT/commons-2.1-SNAPSHOT.jar
我正在尝试使用以下命令执行jar:
java -jar mycompany-2.1-SNAPSHOT.jar 12:141678 1
我的清单文件末尾有一个空行。我正在使用Maven 3.0.5和mvn包生成jar文件。以下是我的pom.xml的一部分:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<configuration>
<archive>
<manifest>
<addClasspath>true</addClasspath>
<classpathLayoutType>repository</classpathLayoutType>
<classpathPrefix>${settings.localRepository}</classpathPrefix>
<mainClass>com.mycompany.App</mainClass>
</manifest>
</archive>
</configuration>
</plugin>
org.apache.maven.plugins
maven jar插件
真的
存储库
${settings.localRepository}
com.mycompany.App
有人能帮我了解导致此错误的原因吗?- 假设您已检查这些文件是否存在:
- 工件是否包含
com/mycompany/App.class
jar-tf mycompany-2.1-SNAPSHOT.jar
- 使用选项
运行java可以显示如何解析类路径以加载(或不加载)每个类-verbose:class
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>2.4</version>
...
org.apache.maven.plugins
maven jar插件
2.4
...
如果从清单中删除除main类之外的所有内容,那么它应该可以工作。
如果您试图创建一个包含所有类路径的可执行jar文件
依赖项,您可能希望使用汇编插件或着色插件
而不是jar插件。您可以发布完整的异常吗?标题中引号中的错误实际上是完整的异常。您需要将依赖项打包为jar,并将其包含在生成的jar中。例如:1。我查过了,它们都存在。2.是的,jar在适当的目录结构3中包含App.class。我确实尝试过使用verbose类,但它只显示了正在加载的Java类。4.您对版本的看法是正确的,我已将其添加到中。使用此设置,这对我来说效果很好: