Java 无法运行jar文件,出现错误,因为无法找到或加载主类(Maven项目)
我已经创建了一个Maven项目,我的类文件位于src/test/java下。 我能够在构建项目时创建Jar文件。但是,当使用命令java-jar Connet.jar运行jar文件时,错误如下: 错误:无法找到或加载主类 POM:Java 无法运行jar文件,出现错误,因为无法找到或加载主类(Maven项目),java,maven,maven-plugin,Java,Maven,Maven Plugin,我已经创建了一个Maven项目,我的类文件位于src/test/java下。 我能够在构建项目时创建Jar文件。但是,当使用命令java-jar Connet.jar运行jar文件时,错误如下: 错误:无法找到或加载主类 POM: org.apache.maven.plugins 首先,类文件应该位于源文件夹下(基本上设置为src/main/java路径) 假设您的课程内容如下: 注意:您应该在其上声明以下主要方法 package com.myproject; public class M
org.apache.maven.plugins
首先,类文件应该位于源文件夹下(基本上设置为src/main/java路径)
假设您的课程内容如下:
注意:您应该在其上声明以下主要方法
package com.myproject;
public class MyProjectMain {
public static void main(String[] args) {
//initialization
}
//other methods
}
然后,您可以按如下方式配置pom:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<configuration>
<archive>
<manifest>
<addClasspath>true</addClasspath>
<classpathPrefix>lib/</classpathPrefix>
<mainClass>com.myproject.MyProjectMain</mainClass>
</manifest>
<manifestEntries>
<Class-Path>.</Class-Path>
</manifestEntries>
</archive>
<finalName>Connet</finalName>
</configuration>
</plugin>
org.apache.maven.plugins
maven jar插件
真的
解放党/
com.myproject.MyProjectMain
.
科内
main类应具有包含所有包而非文件夹的完全限定名。它应该是这样的:aaa.bbb.ccc.YourMainClass
请阅读-总结是,这不是一种向志愿者讲话的理想方式,可能会对获得答案产生反作用。请不要将此添加到您的问题中。@Ivan我根据您的评论进行了更改,但没有运气……然后您是否检查了jar中到底组装了什么以及生成的MANIFEST.MF文件的外观?我根据上面的评论进行了更新,但没有运气。您能否共享包含main的类的项目的相对路径根据我的评论更新后的方法?附上项目和POM的截图,供您参考。我看了一下您的截图。正如我在问题上所说,您的类应该在src/main/java上,而在您的屏幕截图上,我看到它在src/test/java上。将类移动到该路径下,然后重试。关于maven插件的配置,它看起来不错。感谢更新,我将它移到了src/main/java,但是得到了不同的错误,如“线程中的异常”main“java.lang.NoClassDefFoundError:org/openqa/selenium/WebDriver”
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<configuration>
<archive>
<manifest>
<addClasspath>true</addClasspath>
<classpathPrefix>lib/</classpathPrefix>
<mainClass>com.myproject.MyProjectMain</mainClass>
</manifest>
<manifestEntries>
<Class-Path>.</Class-Path>
</manifestEntries>
</archive>
<finalName>Connet</finalName>
</configuration>
</plugin>