Я пытаюсь создать исполняемый файл .jar для приложения, но когда я запускаю «java -jar myapp.jar», я получаю сообщение об ошибке:
Ошибка: не удалось найти или загрузить основной класс com.vaadin.app.MainView
Я добавил аргумент mainClass в свой файл pom.xml, и Manifest.mf показывает это:
Манифест-Версия: 1.0
Build-JDK-Spec: 1,8
Создано: Maven Archiver 3.4.0
Основной класс: com.vaadin.app.MainView
Есть ли причина, по которой он не может найти метод {{X 0}} в моем классе MainView
?
2 ответа
Проблема была в моем pom-файле, он нуждался в добавленном maven-assembly-plugin со следующей конфигурацией:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-assembly-plugin</artifactId>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
<configuration>
<archive>
<manifest>
<mainClass>
com.vaadin.app.MainView
</mainClass>
</manifest>
</archive>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
Затем запускается jar-with-dependencies.jar с кодом 0.
Я столкнулся с теми же проблемами, и для меня файл JAR не был правильно построен. Вы можете создать JAR-файл, перейдя в «Выполнить настройку» (щелкните правой кнопкой мыши в eclipse -> maven -> build) и в целях записи
Чистый пакет -Dmaven.test.skip = true
Это сгенерирует ваш правильный jar, и вы можете запустить его, используя java -jar myapp.jar
Похожие вопросы
Связанные вопросы
Новые вопросы
java
Java — это высокоуровневый объектно-ориентированный язык программирования. Используйте этот тег, если у вас возникли проблемы с использованием или пониманием самого языка. Этот тег часто используется вместе с другими тегами для библиотек и/или фреймворков, используемых разработчиками Java.