【问题标题】:Unable to run jar file, getting error as Could not find or load main class (Maven Project)无法运行 jar 文件,出现错误,因为找不到或加载主类(Maven 项目)
【发布时间】:2020-02-13 18:00:37
【问题描述】:

我创建了一个 Maven 项目,我的类文件位于 src/test/java 下。 当我构建项目时,我能够创建 Jar 文件。但是在使用命令java -jar Connet.jar 运行 jar 文件时,出现以下错误:

错误:无法找到或加载主类。

POM:

<plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-jar-plugin</artifactId>
            <configuration>
                <archive>
                    <manifest>
                        <addClasspath>true</addClasspath>
                        <classpathPrefix>lib/</classpathPrefix>
                        <mainClass>src/test/resources/ConnectUtility.LoginConnect</mainClass>
                    </manifest>
                    <manifestEntries>
                        <Class-Path>.</Class-Path>
                    </manifestEntries>
                </archive>

                <finalName>Connet</finalName>
            </configuration>
        </plugin>

Project

POM

【问题讨论】:

标签: java maven maven-plugin


【解决方案1】:

首先您的类文件应该位于源文件夹下(基本上设置在 src/main/java 路径上)。

假设您的课程内容如下:

注意:你应该在上面声明main方法如下

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>

【讨论】:

  • 我根据上面的评论进行了更新,但没有运气。
  • 您能否根据我的评论分享您的项目中包含 main 方法的类的相对路径?
  • 附上项目和POM的截图,供大家参考
  • 我看了你的截图。正如我在问题上所说,您的课程应该在 src/main/java 上,而在您的屏幕截图上,我看到它在 src/test/java 上。移动该路径下的类并重试。关于maven插件的配置,好像还不错。
  • 感谢更新,我已将其移至 src/main/java ,但收到不同的错误为“线程“主”java.lang.NoClassDefFoundError:org/openqa/selenium/WebDriver 中的异常”
猜你喜欢
  • 2016-05-21
  • 2017-07-30
  • 1970-01-01
  • 1970-01-01
  • 2015-06-05
  • 2020-12-19
  • 1970-01-01
  • 2022-01-07
  • 1970-01-01
相关资源
最近更新 更多