java – Maven bundle插件 – 如何添加主类

前端之家收集整理的这篇文章主要介绍了java – Maven bundle插件 – 如何添加主类前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

我有一个Maven项目mjbean只有一个依赖项:TestA.这是mjbean的pom.xml:

主要课程非常简单:

package com.mbean;
import com.testa.Testcl;
public class Main {

public static void main(String[] args) {

    Testcl tcl = new Testcl();
    tcl.testmethod();
    }
}

我已经指定了主类< Main-Class> com.mbean.Main< / Main-Class>在maven-bundle-plugin中.它与Eclipse运行良好.然后我使用Eclipse在目标文件夹中生成目标包.当我尝试在命令行中运行它:java -jar mjbean-0.0.1-SNAPSHOT.jar时,我收到此错误:

Exception in thread "main" java.lang.NoClassDefFoundError: com/testa/Testcl
at com.mbean.Main.main(Main.java:12)
Caused by: java.lang.ClassNotFoundException: com.testa.Testcl
at java.net.URLClassLoader$1.run(URLClassLoader.java:366)

谁能帮我这个?

最佳答案
Main-Class isn’t part of the OSGi bundle standard,我不相信maven-bundle-plugin能识别它.

您可以按照使用现有MANIFEST.MF文件的说明进行操作并添加指令

<_include>src/main/resources/Meta-INF/MANIFEST.MF

然后在该文件中包含Main-Class指令.这有点笨重,这可能表明你正在使用错误的工具来完成工作.如果你只需要一个可执行的jar文件,那么其他Maven插件可能更合适,比如maven-jar-plugin.

猜你在找的Java相关文章