我有一個java項目,其中只包含java代碼。它依賴於一個java插件。我想採用非插件項目,並將其轉換爲一個osgi包,並將其放入一個功能。我做到了這一點,但它永遠找不到課程。它每次都會通過NoClassDefError,但一切看起來都很好。我創建了非常簡單的配置的第二個項目只是要確定:如何在eclipse中將另一個java項目打包爲osgi依賴關係
MANIFEST.MF:
Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: Test
Bundle-SymbolicName: test
Bundle-Version: 1.0.0.qualifier
Bundle-RequiredExecutionEnvironment: JavaSE-1.7
Export-Package: com.etc,
將廣口正確建立與真實插件一起部署,但如果該插件調用一些東西,取決於在「測試」它從來沒有加載的類,它只是失敗,org.eclipse.core.runtime.CoreException: Plug-in "something.something.tools" was unable to instantiate class "com.something.something.SomeTool".
其中生成的罐子是完全正常的,它都在那裏的類文件的com.something.something
下和MANIFEST.MF文件是有作爲。
SomeTool.java是否包含默認構造函數? – Chris
是的代碼是有效的。如果我通過plugin.xml將所有這些作爲插件運行,它將全部加載到該eclipse實例中。不同的是,eclipse實例在其classpath上具有'com.something.something'。 – Zombies