我是 Eclipse 和 Acceleo 的新手,我一直在尝试完成第一个生成器模型教程。我正在使用 Kepler 4.3 和 Acceleo 3.X。
我正在关注从 uml 生成 java 代码的教程。链接是http://wiki.eclipse.org/Acceleo/Getting_Started http://wiki.eclipse.org/Acceleo/Getting_Started。但是当我尝试运行generate.mtl文件时,错误日志向我显示以下消息:
Couldn't load class org.eclipse.acceleo.module.sample.main.Generate
from project org.eclipse.acceleo.module.sample
它还给了我警告:
无法加载类 org.eclipse.acceleo.module.sample.main.Generate。
检查其包含的包是否已导出。
和激活器 org.eclipse.acceleo.module.sample.Activator
捆绑包 org.eclipse.acceleo.module.sample 无效
org.osgi.framework.BundleException:激活器
捆绑包的 org.eclipse.acceleo.module.sample.Activator
org.eclipse.acceleo.module.sample 无效于
org.eclipse.osgi.framework.internal.core.AbstractBundle.loadBundleActivator(AbstractBundle.java:172)
在
org.eclipse.osgi.framework.internal.core.BundleContextImpl.start(BundleContextImpl.java:679)
在
org.eclipse.osgi.framework.internal.core.BundleHost.startWorker(BundleHost.java:381)
在
org.eclipse.osgi.framework.internal.core.AbstractBundle.start(AbstractBundle.java:300)
在
org.eclipse.osgi.framework.util.SecureAction.start(SecureAction.java:478)
在
org.eclipse.osgi.internal.loader.BundleLoader.setLazyTrigger(BundleLoader.java:263)
在
org.eclipse.osgi.framework.internal.core.BundleHost.loadClass(BundleHost.java:236)
在
org.eclipse.osgi.framework.internal.core.AbstractBundle.loadClass(AbstractBundle.java:1212)
在
org.eclipse.acceleo.common.internal.utils.workspace.AcceleoWorkspaceUtil.getClass(AcceleoWorkspaceUtil.java:544)
在
org.eclipse.acceleo.ide.ui.launching.strategy.AcceleoLaunchOperation.run(AcceleoLaunchOperation.java:103)
在
org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2345)
在
org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2327)
在
org.eclipse.acceleo.ide.ui.launching.strategy.AcceleoPluginLaunchingStrategy.launch(AcceleoPluginLaunchingStrategy.java:259)
在
org.eclipse.acceleo.ide.ui.launching.strategy.AcceleoPluginLaunchingStrategy.launch(AcceleoPluginLaunchingStrategy.java:161)
在
org.eclipse.acceleo.internal.ide.ui.launching.AcceleoLaunchDelegate.launch(AcceleoLaunchDelegate.java:51)
在
org.eclipse.debug.internal.core.LaunchConfiguration.launch(LaunchConfiguration.java:858)
在
org.eclipse.debug.internal.core.LaunchConfiguration.launch(LaunchConfiguration.java:707)
在
org.eclipse.debug.internal.ui.DebugUIPlugin.buildAndLaunch(DebugUIPlugin.java:1018)
在
org.eclipse.debug.internal.ui.DebugUIPlugin$8.run(DebugUIPlugin.java:1222)
在 org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) 引起
通过:java.lang.ClassNotFoundException:
无法找到 org.eclipse.acceleo.module.sample.Activator
org.eclipse.acceleo.module.sample_1.0.0.qualifier 位于
org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:501)
在
org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:421)
在
org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:412)
在
org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loadClass(DefaultClassLoader.java:107)
在 java.lang.ClassLoader.loadClass(来源不明)
org.eclipse.osgi.internal.loader.BundleLoader.loadClass(BundleLoader.java:340)
在
org.eclipse.osgi.framework.internal.core.BundleHost.loadClass(BundleHost.java:229)
在
org.eclipse.osgi.framework.internal.core.AbstractBundle.loadBundleActivator(AbstractBundle.java:165)
... 19 更多根异常:java.lang.ClassNotFoundException:
无法找到 org.eclipse.acceleo.module.sample.Activator
org.eclipse.acceleo.module.sample_1.0.0.qualifier 位于
org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:501)
在
org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:421)
在
org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:412)
在
org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loadClass(DefaultClassLoader.java:107)
在 java.lang.ClassLoader.loadClass(来源不明)
org.eclipse.osgi.internal.loader.BundleLoader.loadClass(BundleLoader.java:340)
在
org.eclipse.osgi.framework.internal.core.BundleHost.loadClass(BundleHost.java:229)
在
org.eclipse.osgi.framework.internal.core.AbstractBundle.loadBundleActivator(AbstractBundle.java:165)
在
org.eclipse.osgi.framework.internal.core.BundleContextImpl.start(BundleContextImpl.java:679)
在
org.eclipse.osgi.framework.internal.core.BundleHost.startWorker(BundleHost.java:381)
在
org.eclipse.osgi.framework.internal.core.AbstractBundle.start(AbstractBundle.java:300)
在
org.eclipse.osgi.framework.util.SecureAction.start(SecureAction.java:478)
在
org.eclipse.osgi.internal.loader.BundleLoader.setLazyTrigger(BundleLoader.java:263)
在
org.eclipse.osgi.framework.internal.core.BundleHost.loadClass(BundleHost.java:236)
在
org.eclipse.osgi.framework.internal.core.AbstractBundle.loadClass(AbstractBundle.java:1212)
在
org.eclipse.acceleo.common.internal.utils.workspace.AcceleoWorkspaceUtil.getClass(AcceleoWorkspaceUtil.java:544)
在
org.eclipse.acceleo.ide.ui.launching.strategy.AcceleoLaunchOperation.run(AcceleoLaunchOperation.java:103)
在
org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2345)
在
org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2327)
在
org.eclipse.acceleo.ide.ui.launching.strategy.AcceleoPluginLaunchingStrategy.launch(AcceleoPluginLaunchingStrategy.java:259)
在
org.eclipse.acceleo.ide.ui.launching.strategy.AcceleoPluginLaunchingStrategy.launch(AcceleoPluginLaunchingStrategy.java:161)
在
org.eclipse.acceleo.internal.ide.ui.launching.AcceleoLaunchDelegate.launch(AcceleoLaunchDelegate.java:51)
在
org.eclipse.debug.internal.core.LaunchConfiguration.launch(LaunchConfiguration.java:858)
在
org.eclipse.debug.internal.core.LaunchConfiguration.launch(LaunchConfiguration.java:707)
在
org.eclipse.debug.internal.ui.DebugUIPlugin.buildAndLaunch(DebugUIPlugin.java:1018)
在
org.eclipse.debug.internal.ui.DebugUIPlugin$8.run(DebugUIPlugin.java:1222)
在 org.eclipse.core.internal.jobs.Worker.run(Worker.java:53)
我已将 [comment @main/] 放在模板行下方并执行教程中的所有步骤,我真的不知道问题是什么。
我将不胜感激任何帮助或反馈。
java.lang.ClassNotFoundException: org.eclipse.acceleo.module.sample.Activator cannot be found by org.eclipse.acceleo.module.sample_1.0.0.qualifier
我能想到的最可能的原因是您使用了File > New Plug-in Project
向导并保留了大部分默认值,但后来删除(或重命名)了它在项目中创建的“Activator”类。
The META-INF/MANIFEST.MF
您的项目文件应包含如下行:
Bundle-Activator: org.eclipse.acceleo.module.sample.Activator
如果确实如此,它很可能会在该行显示警告或错误。您可以完全删除该行,也可以确保您确实拥有具有该限定名称的插件激活器。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)