我正在使用Eclipse / Maven构建一个java应用程序,但是当我尝试运行编译的jar时,继续在xxx.jar中获取“无主要清单属性”错误消息。我已经完成了(或者至少认为如果被要求再次在该线程中尝试某些东西,我将不会冒犯)这个Can't execute jar- file: "no main manifest attribute"线程中的所有内容。匹配的主要是我的MANIFEST.MF不包含任何类信息,导致我认为我的pom.xml或Eclipse(Mars2)中的某些设置存在问题。我的pom.xml在
下面<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
查看完整代码我的直觉是,我在设置项目框架时提出了一些新手语法失误,但我无法看到它。我的业余尝试编写软件到目前为止一直在这里的帖子帮助,所以以为我实际上注册直接问这个。
答案 0 :(得分:1)
pom.xml需要单独的编译器和jar插件部分,如下所示。
<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>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>2.4</version>
<configuration>
<archive>
<manifest>
<addClasspath>true</addClasspath>
<mainClass>udpServerLED.Main</mainClass>
</manifest>
</archive>
</configuration>
</plugin>
</plugins>
感谢A. Di Matteo上面的评论指出了我正确的方向来解决这个问题。