Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/eclipse/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Eclipse插件运行时创建问题-java.lang.NoClassDefFoundError_Java_Eclipse_Eclipse Plugin_Knime_Jongo - Fatal编程技术网

Eclipse插件运行时创建问题-java.lang.NoClassDefFoundError

Eclipse插件运行时创建问题-java.lang.NoClassDefFoundError,java,eclipse,eclipse-plugin,knime,jongo,Java,Eclipse,Eclipse Plugin,Knime,Jongo,我得到了Eclipse插件:org/jongo/ResultHandler的java.lang.NoClassDefFoundError 在添加了必要的jar文件后,我的源代码编译成功了 现在的问题是这些外部jar文件在运行时不工作 我的MANIFEST.MF文件只有一个jar,没有外部jar。不知道如何在这里添加外部jar Bundle-ClassPath: Test.jar Build.properties source.Test.jar = src/ bin.includes = plu

我得到了Eclipse插件:org/jongo/ResultHandler的java.lang.NoClassDefFoundError

在添加了必要的jar文件后,我的源代码编译成功了

现在的问题是这些外部jar文件在运行时不工作

我的MANIFEST.MF文件只有一个jar,没有外部jar。不知道如何在这里添加外部jar

Bundle-ClassPath: Test.jar
Build.properties

source.Test.jar = src/
bin.includes = plugin.xml,\
               META-INF/,\
               Test.jar

请建议如何在运行时运行我的应用程序,它看起来像外部JAR。

在创建插件时,切勿将JAR直接添加到构建路径

您必须在插件中包含所有JAR(或作为其他插件),并设置
捆绑类路径
,并在
build.properties
中包含JAR。如果您正在引用其他插件,只需将它们添加到插件的依赖项中即可

您可以使用MANIFEST.MF/plugin.xml/build.properties编辑器将它们添加到MANIFEST.MF

在编辑器的“Runtime”选项卡上,将JAR添加到“Classpath”条目中(主插件代码还应该有一个“.”条目)

在编辑器的“Build”选项卡上,检查要包含在插件中的所有jar。您应该将JAR放在插件的某个地方(例如“lib”目录)

例如,在此build.properties中:

source..=src/
输出..=垃圾箱/
bin.includes=META-INF/\
.,\
plugin.properties\
plugin.xml\
lib/jogg-0.0.7.jar\
lib/jorbis-0.0.15.jar\
lib/vorbispi1.0.2.jar\
图标/
“lib”目录中有三个jar

此文件的MANIFEST.MF如下所示:

清单版本:1.0
软件包版本:2
捆绑包名称:%plugin.Name
捆绑符号名称:greg.music.ogg;单例:=true
捆绑包版本:2.0.0.0
捆绑供应商:%plugin.provider
捆绑本地化:插件
需要捆绑:greg.music.core;捆绑版本=“1.0.0”,
格雷格·音乐·资源;捆绑版本=“1.0.0”,
org.eclipse.core.runtime,
javazoom.jlgui.basiclayer,
org.eclipse.e4.core.services;捆绑包版本=“2.0.100”
包类路径:。,
lib/jogg-0.0.7.jar,
lib/jorbis-0.0.15.jar,
lib/vorbispi1.0.2.jar
Bundle-RequiredExecutionEnvironment:JavaSE-1.8
导入包:javax.annotation;version=“1.0.0”,
javax.inject;version=“1.0.0”,
org.eclipse.e4.core.di.annotations
编辑器中的“运行时”选项卡:

“生成”选项卡:

找不到的jar是OSGi包吗?如果是,您不应该将jar添加到包含的jar中,而是添加到依赖项中。如果没有,您还应该将其添加到
bin.includes
部分
build.properties
。谢谢。它现在正在工作:)感谢格雷格提供的详细帮助:)