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

时间:2019-02-12 21:57:48

标签: java maven jar executable executable-jar

我一直在努力地尝试解决这个问题,但是似乎没有任何效果。我刚刚在计算机上安装了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");
    }

}

这里的任何内容配置不当都会对任何人留下吗?我想念什么吗?

1 个答案:

答案 0 :(得分:1)

通过-jar参数作为命令行参数:

java -jar lwjgl-playground-1.0-SNAPSHOT.jar