Error: Could not find or load main class - .jar file execution
Error: Could not find or load main class - .jar file execution
我一直在挖掘和挖掘,尽我所能来解决这个问题,但似乎没有任何效果。我刚刚在我的机器上安装了 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");
}
}
这里有没有任何人认为配置错误?我错过了什么吗?
将 -jar
参数作为命令行参数传递:
java -jar lwjgl-playground-1.0-SNAPSHOT.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");
}
}
这里有没有任何人认为配置错误?我错过了什么吗?
将 -jar
参数作为命令行参数传递:
java -jar lwjgl-playground-1.0-SNAPSHOT.jar