Я создаю приложение Java с помощью Eclipse/Maven, но продолжаю получать сообщение об ошибке «без основного манифеста, в xxx.jar», когда я пытаюсь запустить скомпилированный баночка. Я прошел (или, по крайней мере, думаю, что я так не обижусь, если вас попросят попробовать что-то в этой ветке снова) все в этом Can't execute jar- file: "no main manifest attribute" нить. Главное, что совпадает с тем, что мой MANIFEST.MF не содержит никакой информации о классе, что заставляет меня думать, что есть проблема с моим pom.xml или некоторыми настройками в Eclipse (Mars2). Мой pom.xml нижеMain-Class не входит в Manifest.MF, Eclipse
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>io.github.EmbeddedPi</groupId>
<artifactId>udpServerLED</artifactId>
<version>0.0.1</version>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.3</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
<archive>
<manifest>
<addClasspath>true</addClasspath>
<mainClass>udpServerLED.Main</mainClass>
</manifest>
</archive>
</configuration>
</plugin>
</plugins>
</build>
и главная суть основного исходного файла
package udpServerLED;
public class Main {
public Main() {}
}
Полный код можно увидеть на https://github.com/EmbeddedPi/udpServerLED
Мое шестое чувство, что я совершил некоторый синтаксис новичка faux pas в настройке рамки проекта, но я просто не вижу его. Мои любительские попытки писать программное обеспечение до сих пор помогали посты здесь, поэтому я решил зарегистрироваться, чтобы прямо спросить об этом.
Вы настроили maven-jar-plugin, как указано в вопросе, который вы связали? –
Да и нет. Я включил параметры плагина jar, хотя в существующем плагине компилятора (этот код является адаптацией плагина Bukkit, который ранее не должен был выполняться независимо). Фиксируя это, я сделал еще один шаг вперед, так как теперь у меня есть класс в моем манифесте, хотя он еще не выполняется. Я прочь, чтобы почитать и поиграть еще и отчитаться. – DaveW
вам нужно настроить maven-jar-plugin для манифеста конфигурации упакованного банку, однако для его запуска, скорее всего, потребуются и зависимости, поэтому вам понадобится жирная банка (или банка с зависимостями), тогда вы должны использовать maven-shade-plugin и настроить записи манифеста в нем –