IntelliJ нет главного атрибута Mainifest после создания артефакта jar - PullRequest
0 голосов
/ 03 октября 2019

Я пытаюсь собрать jar-артефакт из этого хранилища . Я импортирую appo commons io и org.json как библиотеки. При извлечении арфакта я нахожу файл манифеста, который содержит только информацию org.json. Вы можете найти банку здесь . Файл манифеста в моем проекте не отображается вообще. Любая помощь приветствуется. Когда я запускаю jar в консоли с помощью java -jar, я получаю сообщение об ошибке: Нет атрибута главного манифеста в XXX.jar.

1 Ответ

0 голосов
/ 04 октября 2019

В проекте, который вы предоставили на github, я внес следующие изменения, чтобы он работал с java -jar. Но, прежде всего, проект, который вы связали на github, не строится с gradle build на новом этапе.

, чтобы выполнить этот запуск, вам нужно добавить commons io и org.json к вашему build.gradle файлу. из-за этого файл build.gradle выглядит следующим образом:

plugins {
    id 'java'
}

version '1.0-SNAPSHOT'

sourceCompatibility = 1.8

repositories {
    mavenCentral()
}

dependencies {
    compile group: 'commons-io', name: 'commons-io', version: '2.6'
    compile group: 'org.json', name: 'json', version: '20190722'
    testCompile group: 'junit', name: 'junit', version: '4.12'
}

jar {
    manifest {
        attributes(
                'Main-Class': 'de.bergwacht.esslingen.Main'
        )
    }
}

в вашем проекте также есть много неиспользуемых зависимостей, которые должны быть удалены, создавая предупреждения gradle.

в AnweseneheitsTableModel удалить импорт:

import com.sun.org.apache.xpath.internal.operations.Bool;

в DienstprotokollInvalidArgumentException удалить импорт:

import com.sun.javaws.exceptions.InvalidArgumentException;

в MainForm удалить импорт:

import com.sun.org.apache.xpath.internal.operations.Bool;
import com.sun.xml.internal.fastinfoset.algorithm.BooleanEncodingAlgorithm;

на этом этапе вы можете запустить./gradlew jar и это создаст для вас банку под build/libs

вы можете запустить эту банку с java -jar build/libs/BWOrgaTool-1.0-SNAPSHOT.jar

, эта команда ее запустит, она встретит NPE:

Exception in thread "main" java.lang.NullPointerException
    at de.bergwacht.esslingen.forms.MainForm.<init>(MainForm.java:138)
    at de.bergwacht.esslingen.Main.main(Main.java:42)

но это еще одна проблема, вы можете начать отладку вашей программы с этого момента.

...