我开发了两个eclipse插件,EAXMLModelExchange和EAXMLModelExchangeWizard。
我想在插件EAXMLModelExchangeWizard中调用公共静态方法EAXMLExchange.convertEAModelToEAXml(String,String)。
该类位于包eaxmlmodelexchange。
中如何调用该方法。 import eaxmlmodelexchange.EAXMLExchange;
当我将项目作为Eclipse Application运行时,它工作,但是当我将它导出到.jar文件时,该方法不会被调用。
public void runFunction() {
EAXMLExchange.convertEAModelToEAXml(String, String);
}
EAXMLModelExchange中的MANIFEST.MF
Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: EAXMLModelExchange
Bundle-SymbolicName: EAXMLModelExchange;singleton:=true
Bundle-Version: 1.0.0
Require-Bundle: org.eclipse.core.runtime,
org.eclipse.sphinx.emf;bundle-version="0.7.0"
Bundle-ActivationPolicy: lazy
Bundle-RequiredExecutionEnvironment: JavaSE-1.7
Export-Package: eaxmlmodelexchange
EAXMLModelExchangeWizard中的MANIFEST.MF
Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: EAXMLModelExchangeWizard
Bundle-SymbolicName: EAXMLModelExchangeWizard;singleton:=true
Bundle-Version: 1.0.0
Bundle-Activator: eaxmlexchangewizard.Activator
Require-Bundle: org.eclipse.ui,
org.eclipse.core.runtime,
org.eclipse.core.resources,
org.eclipse.ui.ide,
org.eclipse.sphinx.emf;bundle-version="0.7.0",
EAXMLModelExchange;bundle-version="1.0.0"
Bundle-ActivationPolicy: lazy
Bundle-RequiredExecutionEnvironment: JavaSE-1.7
有谁知道如何让它发挥作用?
答案 0 :(得分:0)
您可以使用一种技术来查看抛出的错误是将任何异常写入Eclipse日志。 “错误日志”视图允许您查看和清除日志。
try {
EAXMLExchange.convertEAModelToEAXml("Hello", "World");
} catch (Exception e) {
IStatus status = new Status(Status.ERROR,"EAXMLModelExchangeWizard","Error calling other plugin",e);
Activator.getDefault().getLog().log(status);
}
答案 1 :(得分:0)
需要做出一些澄清。
当你说你已经将它们作为jar文件导出时,这是否意味着插件罐并且你已将它们放置在eclipse环境中? (如dropins文件夹)
如果不是....如果您调用的是简单的Java应用程序,则相互之间将不会知道依赖关系。在调用之前必须将它们放在类路径中,或者应该在一个jar的MANIFEST.MF文件中添加额外的选项Class-Path:<另一个依赖jar的名称>