1

我已经在 STS 3.3.0(Juno 3.8.2 版本)以及 m2e wtp 连接器中安装了 Websphere 开发工具。我现在在构建 Maven 时遇到问题。使用 maven 更新项目时出现以下异常。

java.lang.NoClassDefFoundError: org.eclipse.m2e.wtp.WTPProjectsUtil
at com.ibm.etools.maven.javaee.core.configurators.Utils.isJPAProject(Utils.java:43)
at com.ibm.etools.maven.javaee.core.configurators.JPAProjectConfiguratorDelegate.configureProject(JPAProjectConfiguratorDelegate.java:46)
at com.ibm.etools.maven.javaee.core.configurators.JPAProjectConfigurator.configure(JPAProjectConfigurator.java:45)
at org.eclipse.m2e.core.project.configurator.AbstractLifecycleMapping.configure(AbstractLifecycleMapping.java:109)
at org.eclipse.m2e.core.internal.project.ProjectConfigurationManager$3.call(ProjectConfigurationManager.java:472)
at org.eclipse.m2e.core.internal.project.ProjectConfigurationManager$3.call(ProjectConfigurationManager.java:1)
at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.executeBare(MavenExecutionContext.java:161)
at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.execute(MavenExecutionContext.java:137)
at org.eclipse.m2e.core.internal.project.ProjectConfigurationManager.updateProjectConfiguration(ProjectConfigurationManager.java:465)
at org.eclipse.m2e.core.internal.project.ProjectConfigurationManager.updateProjectConfiguration0(ProjectConfigurationManager.java:403)
at org.eclipse.m2e.core.internal.project.ProjectConfigurationManager$2.call(ProjectConfigurationManager.java:316)
at org.eclipse.m2e.core.internal.project.ProjectConfigurationManager$2.call(ProjectConfigurationManager.java:1)
at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.executeBare(MavenExecutionContext.java:161)
at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.execute(MavenExecutionContext.java:137)
at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.execute(MavenExecutionContext.java:89)
at org.eclipse.m2e.core.internal.embedder.MavenImpl.execute(MavenImpl.java:1301)
at org.eclipse.m2e.core.internal.project.ProjectConfigurationManager.updateProjectConfiguration(ProjectConfigurationManager.java:313)
at org.eclipse.m2e.core.ui.internal.UpdateMavenProjectJob.runInWorkspace(UpdateMavenProjectJob.java:77)
at org.eclipse.core.internal.resources.InternalWorkspaceJob.run(InternalWorkspaceJob.java:38)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)

但是,当我查看插件目录时,我可以看到包含相关类的 jar 文件 org.eclipse.m2e.wtp_1.0.0.20130613-0136.jar。我如何计算出 eclipse 类路径是什么,有没有办法将此库添加到类路径中?

4

3 回答 3

1

原来我使用了错误的 Juno 版本,应该使用的是 Juno 4.2。一旦与 Websphere 8.5.5 插件一起安装,我只需要将 m2e WTP 插件更新为最新的 1.xx 插件。

于 2013-10-01T10:08:15.023 回答
1

这个答案是临时修复/破解。


自从 WDT 升级以来,我遇到了同样的问题:

  • 《网页开发工具》8.5.1002.v20130402_2058版
  • 使用“m2e-wtp”版本 1.0.0.20130613-0136

根本原因:插件依赖项的版本控制规则

解决方案

打开文件eclipse\plugins\com.ibm.etools.maven.javaee.core_1.0.0.v20121205_2240.jar 编辑META-INF\MANIFEST.MF

Require-Bundle部分更改

org.eclipse.m2e.wtp;bundle-version="[0.16.0,1.0.0)"

经过

org.eclipse.m2e.wtp;bundle-version="[0.16.0,2.0.0)"

或大于 1.0.0.xx 的类似...并且不更改列中的字符数

保存文件、jar 并使用-clean选项重新启动 Eclipse。


m2e v1.0.0 和 wdt 8.5.1(不是 002)工作正常,但com.ibm.etools.maven.javaee.core-xx.jar不在此版本中......所以唯一可持续的解决方案是 WDT 更新(依赖范围升级),可能在 v8.5.1003 中。

于 2013-08-08T18:22:34.360 回答
0

我花了很长时间才弄清楚这个问题。我为解决这个问题所做的是,我卸载了 maven juno 集成插件并安装了另一个 maven 插件(m2e-wtp),这样就成功了,我回到了我的 eclipse 工作区,没有任何问题。希望这会有所帮助。

于 2014-02-24T19:31:53.767 回答