加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

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

发布时间:2020-12-14 06:08:33 所属栏目:Java 来源:网络整理
导读:我有一个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(); }} 我

我有一个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.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读