Ошибка: не удалось найти или загрузить основной класс - выполнение файла .jar - PullRequest
0 голосов
/ 13 февраля 2019

Я копал и копал, пытаясь сделать все возможное, чтобы решить эту проблему, но, похоже, ничего не работает.Я только что установил 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 голосов
/ 13 февраля 2019

Передайте параметр -jar в качестве аргумента командной строки:

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