ClassNotFoundException для основного класса, запускающего исполняемый файл jar с зависимостями - PullRequest
0 голосов
/ 16 мая 2018

Я не могу найти проблему здесь:

Я создал банку, используя плагин maven, но собака не будет охотиться.

Класс:

package com.foo.baitshop;

public class Design {

    public static void main(String args[]) throws IOException {

        int argLength = args.length;
    }
}

Я разархивировал флягу, чтобы заглянуть внутрь, и папка META-INF находится в корне и содержит манифест (MANIFEST.MF).

Это выглядит так:

Manifest-Version: 1.0
Archiver-Version: Plexus Archiver
Created-By: Apache Maven
Built-By: lwhite
Build-Jdk: 9.0.4
Main-Class: com.foo.baitshop.Design;

Чтобы запустить, я выполняю следующее в каталоге, содержащем банку:

java -jar baitshop2-1.0-SNAPSHOT-jar-with-dependencies.jar

В этой среде внешняя траектория не установлена.

Сообщение об ошибке:

fm-mltp140:target lwhite$ java -jar baitshop2-1.0-SNAPSHOT-jar-with-dependencies.jar
Error: Could not find or load main class com.foo.baitshop.Design;
Caused by: java.lang.ClassNotFoundException: com/foo/baitshop/Design;

Любая помощь будет принята с благодарностью.

1 Ответ

0 голосов
/ 16 мая 2018

Я думаю, что это точка с запятой:

Main-Class: com.foo.baitshop.Design;

Необходимо удалить, чтобы:

Main-Class: com.foo.baitshop.Design

Если Maven генерирует это, необходимо отладить конфигурацию Maven, чтобы избежать добавления точки с запятой. Скорее всего, в конфигурации есть точка с запятой.

Связанный документ от Oracle.

...