GMavenPlus: Groovy to JAR — не удалось найти или загрузить основной класс. Основной класс присутствует, файл манифеста выглядит действительным

Я выполнил успешную чистую установку mvn в проекте, который я построил, и структура выглядит правильной, все включенные классы и манифест находятся в META-INF, включая пути к классам и основной класс. Не уверен, что здесь не совпадает, но содержимое класса действительно, когда я проверял содержимое с помощью javap. Основной метод присутствует в классе redacted_automatedSupport и также является общедоступным.

Ошибка:

host MINGW64 ~/Desktop/Projects/redacted_Automated_Support/target (master)
$ java -jar redacted_automatedSupport-1.0.jar
Error: Could not find or load main class support.redacted_automatedSupport

host MINGW64 ~/Desktop/Projects/redacted_Automated_Support/target (master)
$ java -cp redacted_automatedSupport-1.0.jar support.redacted_automatedSupport
Error: Could not find or load main class support.redacted_automatedSupport

host MINGW64 ~/Desktop/Projects/redacted_Automated_Support/target (master)
$

Содержание манифеста:

Manifest-Version: 1.0
Archiver-Version: Plexus Archiver
Built-By: bennet.vella
Class-Path: aws-java-sdk-s3-1.11.696.jar aws-java-sdk-kms-1.11.696.jar
  aws-java-sdk-core-1.11.696.jar commons-logging-1.1.3.jar httpclient-
 4.5.9.jar httpcore-4.4.11.jar commons-codec-1.11.jar ion-java-1.0.2.j
 ar jackson-databind-2.6.7.3.jar jackson-annotations-2.6.0.jar jackson
 -core-2.6.7.jar jackson-dataformat-cbor-2.6.7.jar joda-time-2.8.1.jar
  jmespath-java-1.11.696.jar groovy-3.0.1.jar groovy-json-3.0.1.jar gr
 oovy-dateutil-3.0.1.jar
Created-By: Apache Maven 3.6.3
Build-Jdk: 1.8.0_231
Main-Class: support.redacted_automatedSupport

Содержимое архива Jar (переименовано в zip для просмотра):

Содержимое архива Jar

Поддержка Jar Contents (удалены некоторые ненужные данные, все имена совпадают): Поддержка содержимого Jar


person Luponius    schedule 25.03.2020    source источник
comment
Можно ли найти groovy-jar (из скриншотов непонятно, где он должен быть (похоже не на теневую банку или на пружинную толстую банку)). Основной статический?   -  person cfrick    schedule 25.03.2020
comment
Теперь это интересный момент, так как я работал с java раньше, но никогда не искажал заводной код. Я предполагаю, что будет построена одна банка, и она будет содержать все файлы классов, относящиеся к groovy.   -  person Luponius    schedule 27.03.2020
comment
Как я уже сказал, трудно сказать. Можете ли вы привести минимальный неудачный пример?   -  person cfrick    schedule 27.03.2020
comment
К сожалению, не могу поделиться прямым кодом, просто идея. Я понимаю, что это очень затруднит или сделает невозможным диагностику проблемы. Спасибо за попытку. Что касается минимального неудачного примера, я, честно говоря, не знаю, где будет точка отсечки. Возможно, любая используемая внешняя библиотека приведет к сбою. Я также должен упомянуть, что да, main является статическим. На самом деле я получил код для запуска ранее, но он сразу же терпит неудачу на groovy date utils, даже если эта зависимость присутствует.   -  person Luponius    schedule 28.03.2020
comment
Я думаю, что @cfrick прав. Я предложил прочитать maven.apache.org/plugins/maven-shade-plugin.   -  person Keegan    schedule 28.06.2020


Ответы (1)


Это не полный ответ, поскольку он не нацелен на проблему с Maven, которая у меня была, но я решил проблему с IntelliJ, которая возникла у меня с неправильным файлом манифеста, и это потому, что я создавал манифест в src/main /java вместо src/main/resources. Мы надеемся, что это должно облегчить проблемы некоторых пользователей.

Однако я еще не решил, как правильно создавать и включать все соответствующие зависимые банки с помощью Maven - intelliJ делает это успешно.

person Luponius    schedule 30.03.2020