【发布时间】:2013-05-29 03:18:55
【问题描述】:
我正在尝试将 NetBeans 构建配置为调用 jslint 并产生错误,我可以单击这些错误将我带到源代码。
使用来自Maven plugins to analyze javascript code quality 的 Maven 构建脚本,jslint 正在运行并产生错误,但我无法单击它们。 NetBeans 输出窗口中的文本如下所示:
[jslint] C:\Documents and Settings\arx\My Documents\Progs\jsweb\src\main\wwwroot\jsweb.js:125:48: 'keydown' is not defined.
我在 Windows 上运行 NetBeans 6.9.1。路径中的空格不是问题。我用无空间路径试了一下,还是不行。
最终,我想在 NetBeans 中编辑一个简单的 javascript+html 项目,并从 jslint 获得可点击的错误。我没有嫁给 Maven。任何建议都非常感谢。
更新:解决方案
如果我将 jslint4java 直接放入 Ant 项目(而不是包装在 Maven 插件中的 Ant 项目),则输出不包含 [jslint] 前缀,我可以点击错误。
这有点麻烦,因为似乎有必要明确列出所有 jar 文件依赖项的位置,但它确实有效。
另一个更新
我正在尝试在 Maven 中进行这项工作,因为它的 java 依赖管理很好。问题肯定是输出中的 [jslint] 前缀,它是由 Ant 产生的。
似乎没有任何方法可以让 NetBeans 忽略前缀,这很奇怪,因为 Ant 是 NetBeans 的默认构建工具。
可以通过在 Ant 的 DefaultLogger 上设置 emacsmode 属性来抑制前缀。 NetBeans 在启动 Ant 时会执行此操作(如果在 Options 中设置了“build.compiler.emacs=true”),但 maven-antrun-plugin 没有(并且查看源代码,目前没有任何方法可以说服它)。
可能的修复方法是:
- 让 NetBeans 更好地解码 Ant 输出。
- 向 maven-antrun-plugin 添加 emacsmode 选项。
- 找一个原生的 Maven jslint 插件(所以根本不用 Ant)。
选项 3 看起来可能是最简单的,所以我使用 TortoiseSVN 从 https://svn.codehaus.org/mojo/trunk/sandbox/jslint-plugin 下载 http://mojo.codehaus.org/jslint-plugin/ 的源代码并让它工作。但它会产生对 NetBeans 不友好的输出,例如:
[ERROR]jssvg.js:2690:48:'keydown' is not defined.
【问题讨论】:
-
感谢您用良好的观察更新您的原始问题。
标签: javascript netbeans maven netbeans-6.9 jslint