Я много читал о «создании» файла pom.xml, что делал несколько раз после очистки проекта.

Я поставил пакет и скомпилировал при постановке целей и попытался установить. Он создает файл jar «SNAPSHOT», но когда я пытаюсь его запустить, ничего не происходит.

Я попытался выполнить его в командной строке (CMD), чтобы увидеть ошибки, и получил следующее:

нет основного атрибута манифеста в smart.mirror-0.0.1-SNAPSHOT.jar

Любая помощь была бы признательна.

enter image description here

1
Jaquarh 23 Сен 2018 в 16:31

2 ответа

Лучший ответ

Вам нужно использовать плагин maven jar и определить основной класс.

 <plugin> 
     <groupId>org.apache.maven.plugins</groupId>
     <artifactId>maven-jar-plugin</artifactId>
     <configuration>
          <archive>
              <manifest>
                  <mainClass>
                     com.yourpackage.YourMainClass
                  </mainClass>
              </manifest>
          </archive>
     </configuration>
</plugin>

Обычно у вас есть зависимости, которые вы можете упаковать в свой собственный jar-файл, используя плагин Shade при необходимости.

1
triplem 23 Сен 2018 в 13:42

В основном вам нужно добавить зависимость к вашему pom, а затем перестроить ее. Пожалуйста, добавьте эту зависимость в свой pom:

<dependency>
    <groupId>com.mashape.unirest</groupId>
    <artifactId>unirest-java</artifactId>
    <version>1.4.9</version>
</dependency>

После этого щелкните проект правой кнопкой мыши, выберите maven и очистите его. После очистки выполните те же действия и выберите сборку. Он создаст исполняемый файл jar.

Вы должны использовать Maven Assembly Plugin вместо Jar для развертывания зависимостей с исполняемым Jar. Его нет в твоей помпе. Это должно быть похоже на конфигурацию плагинов, указанную ниже:

<plugin>
  <artifactId>maven-assembly-plugin</artifactId>
  <configuration>
    <archive>
      <manifest>
        <mainClass>fully.qualified.MainClass</mainClass>
      </manifest>
    </archive>
    <descriptorRefs>
      <descriptorRef>jar-with-dependencies</descriptorRef>
    </descriptorRefs>
  </configuration>
</plugin>
0
Bhagwat Chouhan 23 Сен 2018 в 14:20