错误:无法找到或加载主类 - .jar文件执行

问题描述 投票:2回答:1

我一直在挖掘和挖掘我尽力解决这个问题,但似乎没有任何工作。我刚刚在我的机器上安装了Intellij IDEA并创建了一个新的maven项目。我只是试图执行一个hello world程序来验证所有设置是否正确。但是,有些事情是不对的。

在IDEA中运行应用程序时,我按预期收到“Hello World”。但是,当运行maven包并生成.jar文件时,当我尝试执行该.jar文件时,我收到以下消息:

C:\dev\lwjglplayground\target>java lwjgl-playground-1.0-SNAPSHOT.jar
Error: Could not find or load main class lwjgl-playground-1.0-SNAPSHOT.jar
Caused by: java.lang.ClassNotFoundException: lwjgl-playground-1.0-SNAPSHOT.jar

我的第一直觉是我在我的java安装中拙劣(在安装IDEA之前我删除了我的java 8 jdk并安装了jdk 11),但我验证了我之前构建的其他.jar文件按预期执行。

我的pom.xml文件如下:

<?xml version="1.0" encoding="UTF-8"?>
<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>whitwhoa</groupId>
    <artifactId>lwjgl-playground</artifactId>
    <version>1.0-SNAPSHOT</version>
    <packaging>jar</packaging>

    <properties>
        <start-class>whitwhoa.Main</start-class>
    </properties>

    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.8.0</version>
                <configuration>
                    <release>11</release>
                    <archive>
                        <index>true</index>
                        <manifest>
                            <mainClass>whitwhoa.Main</mainClass>
                        </manifest>
                    </archive>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-jar-plugin</artifactId>
                <version>3.1.1</version>
                <configuration>
                    <archive>
                        <index>true</index>
                        <manifest>
                            <mainClass>whitwhoa.Main</mainClass>
                        </manifest>
                    </archive>
                </configuration>
            </plugin>
        </plugins>
    </build>

</project>

这是我的Main.java文件:

package whitwhoa;


public class Main {

    public static void main(String[] args) {
        System.out.println("Hello World");
    }

}

这里有什么东西可以解决错误配置吗?我错过了什么吗?

java maven jar executable executable-jar
1个回答
1
投票

-jar参数作为命令行参数传递:

java -jar lwjgl-playground-1.0-SNAPSHOT.jar
© www.soinside.com 2019 - 2024. All rights reserved.