- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
当我尝试将包含一些 JavaScript 的项目导入工作区时(使用 Eclipse 的 Neon.M6 版本),出现此错误:
eclipse.buildId=4.6.0.I20160317-0200
java.version=1.8.0_05
java.vendor=Oracle Corporation
BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=en_US
org.eclipse.core.jobs
Error
Wed Mar 30 18:38:50 CEST 2016
An internal error occurred during: "Validating ****".
java.lang.NoClassDefFoundError: jdk/nashorn/internal/runtime/ECMAException
at org.eclipse.wst.jsdt.core.dom.ASTParser.internalCreateAST(ASTParser.java:860)
at org.eclipse.wst.jsdt.core.dom.ASTParser.createAST(ASTParser.java:651)
at org.eclipse.wst.jsdt.internal.core.validation.JavaScriptValidator.validate(JavaScriptValidator.java:62)
at org.eclipse.wst.validation.Validator$V2.validate(Validator.java:1159)
at org.eclipse.wst.validation.internal.ValManager.validate(ValManager.java:704)
at org.eclipse.wst.validation.internal.ValManager$1.visit(ValManager.java:665)
at org.eclipse.wst.validation.internal.ValManager.accept(ValManager.java:810)
at org.eclipse.wst.validation.internal.ValManager.validate(ValManager.java:669)
at org.eclipse.wst.validation.internal.ValBuilderJob$Visitor.visit(ValBuilderJob.java:299)
at org.eclipse.core.internal.resources.Resource$2.visit(Resource.java:120)
at org.eclipse.core.internal.resources.Resource$1.visitElement(Resource.java:84)
at org.eclipse.core.internal.watson.ElementTreeIterator.doIteration(ElementTreeIterator.java:82)
at org.eclipse.core.internal.watson.ElementTreeIterator.doIteration(ElementTreeIterator.java:87)
at org.eclipse.core.internal.watson.ElementTreeIterator.doIteration(ElementTreeIterator.java:87)
at org.eclipse.core.internal.watson.ElementTreeIterator.doIteration(ElementTreeIterator.java:87)
at org.eclipse.core.internal.watson.ElementTreeIterator.doIteration(ElementTreeIterator.java:87)
at org.eclipse.core.internal.watson.ElementTreeIterator.doIteration(ElementTreeIterator.java:87)
at org.eclipse.core.internal.watson.ElementTreeIterator.iterate(ElementTreeIterator.java:129)
at org.eclipse.core.internal.resources.Resource.accept(Resource.java:94)
at org.eclipse.core.internal.resources.Resource.accept(Resource.java:52)
at org.eclipse.core.internal.resources.Resource.accept(Resource.java:117)
at org.eclipse.core.internal.resources.Resource.accept(Resource.java:105)
at org.eclipse.wst.validation.internal.ValBuilderJob.fullBuild(ValBuilderJob.java:219)
at org.eclipse.wst.validation.internal.ValBuilderJob.run(ValBuilderJob.java:178)
at org.eclipse.wst.validation.internal.ValBuilderJob.runInWorkspace(ValBuilderJob.java:126)
at org.eclipse.core.internal.resources.InternalWorkspaceJob.run(InternalWorkspaceJob.java:39)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55)
Caused by: java.lang.ClassNotFoundException: jdk.nashorn.internal.runtime.ECMAException cannot be found by org.eclipse.wst.jsdt.core_2.0.0.v201603171403
at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:444)
at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:357)
at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:349)
at org.eclipse.osgi.internal.loader.ModuleClassLoader.loadClass(ModuleClassLoader.java:161)
at java.lang.ClassLoader.loadClass(Unknown Source)
... 27 more
我正在使用“Eclipse for Scout Developers”,默认情况下应包含 JSDT(这是 Neon 的新功能,因为 the changes in the Scout Framework for Neon)。
这里是我当前安装的 Eclipse 安装详细信息(仅 JSDT 插件):
知道这是什么吗?
最佳答案
通过与 G.Erkan 的聊天,我了解了 Nashorn 是如何与 JSDT 联系在一起的。在这里,我写下了这个机制。我认为这足以理解和修复该行为。
Nashorn 是一个 Javascript 运行时库,可从 <java-home>/lib/ext
中的 Java 8+ 获得 文件夹。
默认情况下,OSGi 包使用引导类加载器,不包括 lib/ext
由于 JSDT.core 使用 Nashorn,JSDT 团队制定了一种加载此外部库的方法。
技巧包括两部分:
在运行时: org.eclipse.wst.jsdt.nashorn.extension 包片段有一个扩展 ClassLoaderHook 的类,它通过添加 lib/ext 文件夹来扩展包类路径。要激活 ClassLoaderHook,您需要在启动配置中添加以下参数以使 Hook 生效:
-Dosgi.framework.extensions=org.eclipse.wst.jsdt.nashorn.extension
实际上:您需要将参数添加到您的运行配置或产品配置中,以使其在运行时运行。
为了在开发时和本地 Tycho 构建中进行测试:您需要指定一个参数来告诉 Equinox 类加载器加载普通的 Java 扩展类加载器。为此,您需要使用以下参数:
-Dorg.osgi.framework.bundle.parent=ext
实际上,您需要将参数添加到您的测试配置和您的第谷配置中。例如检查 webtools.jsdt\tests\pom.xml
,您可以在其中看到 Tycho surefire 参数:
<argLine>-Dorg.osgi.framework.bundle.parent=ext</argLine>
另见
关于javascript - eclipse JSDT : internal error NoClassDefFoundError: jdk/nashorn/internal/runtime/ECMAException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36317684/
在我的other question我spotted a bug在 Eclipse wst.jsdt 中。如果我想自己解决这个问题,需要哪些知识依赖? 我的猜测是: 了解如何使用 CVS 了解如何使用
我想在 Eclipse/JSDT 中指定实例变量的类型,如下例所示: /** * @constructor */ function A() { /** @type Node */
我正在开发一个扩展 Eclipse JSDT 的插件,我想更改 JavaScript 格式化程序的默认配置文件(这样我的插件用户就不需要执行 Preferences->JavaScript->Code
在 Eclipse 中,内容辅助通常由一些实现 IContentAssistProcessor 的类来实现( JavaDoc 、 example ) 如何为基于 JSDT 的编辑器实现相同的 Comp
针对 Eclipse JSDT 的 org.eclipse.wst.jsdt.ui.javaCompletionProposalComputer 的内容协助未提供建议。 在首选项 -> JavaScr
在 Eclipse 中(我目前正在运行 3.8.0 @ Linux (Mint 14 (Ubuntu (Debian)))),使用 Refactor 重命名变量是一个选项这似乎是随机可用的。对于某些代
JSDT (Javascript 开发工具)是一个 Eclipse 项目,旨在为 Javascript 实现 JDT API。它的早期演示确实令人印象深刻,但自 2007 年以来似乎没有发布任何版本,
如何使用 Eclipse JSDT(JavaScript 开发工具)“构建”*.min.js 和 *.min.js.map 文件? 最佳答案 您可以使用外部构建器来运行 Javascript 任务的构
我刚刚弄清楚如何在 Eclipse (Kepler) 中启用 jQuery 代码辅助,部分归功于 this邮政。是的,我在某些 API 上获得了代码帮助,但在 $.ajax() 或 $.parseJS
因为我喜欢在 javascript 中编写代码,就像在其他 OOP 环境中一样,所以我喜欢模块化我的代码,例如为我的 JS 应用程序创建一个顶级命名空间,如下所示: var myapp = {}; m
我正在尝试使用 Eclipse 进行一些服务器端 Javascript 开发。 我使用的 API 有一个函数 doStuff(string, object)(更改名称以保护罪犯)根据(的值)返回不同类
为了处理一个项目,我试图找到一个可靠的存储库,其中提供了 jsdt 核心文件。 虽然“org.eclipse.jdt:org.eclipse.jdt.core:3.14.0”非常容易找到,但我的 Gr
显示 JavaScript 源文件内容的大纲 View 问题并不新鲜,it had even found an answer . 但是,该答案在 Neon (4.6.0) 中不再有效:我打开了在两个单
我刚刚开始使用“Eclipse Kepler”IDE 进行 PHP 编程,现在我想使用相同的 IDE 进行 JavaScript,但我不确定要安装哪个插件? 我是 JavaScript 的新手,所以我
如何实现 JavaScript 的悬停提示 (Eclipse JSDT)。 我希望当用户将鼠标悬停在某个关键字上时,显示一些描述,例如代码完成中的描述: (来源:nodeclipse.org) 但是该
我已经从 here 的官方网站下载了 Eclipse Kepler 4.3 . 并成功安装了 PDT 插件( Eclipse -> Help -> Install new software )。 问题
当我尝试将包含一些 JavaScript 的项目导入工作区时(使用 Eclipse 的 Neon.M6 版本),出现此错误: eclipse.buildId=4.6.0.I20160317-0200
Javascript Developer Tools (JSDT) for Eclipse 提供了 Javascript 类的漂亮轮廓 View ,旁边有一个小符号来指示可见性。 查看首选项->Jav
如何扩展“org.eclipse.wst.jsdt.internal.ui.javaeditor”并使用自定义 javaScript 标签创建我们自己的 Java 脚本编辑器? 最佳答案 看看这个 h
我是一名优秀的程序员,十分优秀!