为什么我不能将这个 Maven 构建为可执行文件
Why cant I build this maven as an executable
rdf2vec 的 Maven 项目构建了一个可执行文件,没有任何错误,但是 jar 文件抛出 "no main manifest attribute" 错误。
我尝试解决它:
替换以下代码段:
<manifest>
<mainClass>fully.qualified.MainClass</mainClass>
</manifest>
与 :
<manifest>
<addClasspath>true</addClasspath>
<mainClass>walks.WalkGenerator</mainClass>
</manifest>
从而使 WalkGenerator 成为整个包的默认主 class。
可悲的是,这并不能解决问题。
另一个问题是我找不到 MANIFEST 文件。
你需要使用 maven-jar-plugin
为你的 jar
设置 main class
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<configuration>
<archive>
<manifest>
<mainClass>walks.WalkGenerator</mainClass>
</manifest>
</archive>
</configuration>
</plugin>
除了上面提到的更改外,还添加了以下依赖项以获取可执行文件 运行:
<dependency>
<groupId>org.slf4j</groupId>
<artifactid>slf4j-api</artifactId>
<version>1.7.6</version>
</dependency>
rdf2vec 的 Maven 项目构建了一个可执行文件,没有任何错误,但是 jar 文件抛出 "no main manifest attribute" 错误。
我尝试解决它:
替换以下代码段:
<manifest>
<mainClass>fully.qualified.MainClass</mainClass>
</manifest>
与 :
<manifest>
<addClasspath>true</addClasspath>
<mainClass>walks.WalkGenerator</mainClass>
</manifest>
从而使 WalkGenerator 成为整个包的默认主 class。 可悲的是,这并不能解决问题。
另一个问题是我找不到 MANIFEST 文件。
你需要使用 maven-jar-plugin
为你的 jar
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<configuration>
<archive>
<manifest>
<mainClass>walks.WalkGenerator</mainClass>
</manifest>
</archive>
</configuration>
</plugin>
除了上面提到的更改外,还添加了以下依赖项以获取可执行文件 运行:
<dependency>
<groupId>org.slf4j</groupId>
<artifactid>slf4j-api</artifactId>
<version>1.7.6</version>
</dependency>