Невозможно запустить файл JAR, получая ошибку, так как не удалось найти или загрузить основной класс (Maven Project) - PullRequest
0 голосов
/ 13 февраля 2020

Я создал проект Maven, мой файл класса находится в каталоге src / test / java. Я могу создать файл Jar при сборке проекта. Но при запуске файла JAR с помощью команды java -jar Connet.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>

Проект

POM

1 Ответ

0 голосов
/ 14 февраля 2020

Сначала ваш файл класса должен быть расположен в исходной папке (в основном установлен на src / main / java путь).

Предположим, что содержание вашего класса следующее:

ПРИМЕЧАНИЕ : Вы должны объявить на нем основной метод следующим образом

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>
...