Я пытаюсь настроить сборку NetBeans для вызова jslint и создания ошибок, по которым я могу щелкнуть, чтобы перейти к источнику.

Используя скрипт сборки Maven из плагинов Maven для анализа качества кода javascript, jslint работает и выдает ошибки но я не могу нажать на них. Текст в окне вывода NetBeans выглядит следующим образом:

[jslint] C:\Documents and Settings\arx\My Documents\Progs\jsweb\src\main\wwwroot\jsweb.js:125:48: 'keydown' is not defined.

Я использую NetBeans 6.9.1 в Windows. Пробелы в пути не проблема. Я попробовал это с безпространственным путем, и это все еще не сработало.

В конечном итоге я хочу отредактировать простой проект javascript + html в NetBeans и получить интерактивные ошибки от jslint. Я не женат на Мейвен. Любые предложения с благодарностью принимаются.

Обновление: решение

Если я помещу jslint4java непосредственно в проект Ant (а не в проект Ant, заключенный в подключаемый модуль Maven), вывод не будет включать префикс [jslint], и я смогу щелкнуть ошибки.

Это немного хлопотно, потому что кажется необходимым явно перечислить расположение всех зависимостей файла jar, но это работает.

Еще одно обновление

У меня есть еще одна попытка сделать эту работу в Maven, потому что ее управление зависимостями java приятно. Проблема определенно заключается в префиксе [jslint] в выводе, создаваемом Ant.

Кажется, нет никакого способа заставить NetBeans игнорировать префикс, что странно, поскольку Ant является инструментом сборки NetBeans по умолчанию.

Префикс можно подавить, установив свойство emacsmode в Ant DefaultLogger. NetBeans делает это, когда запускает Ant iself (если в параметрах установлено «build.compiler.emacs=true»), но maven-antrun-plugin этого не делает (и, глядя на исходный код, в настоящее время нет никакого способа убедить его ).

Возможные исправления:

  1. Улучшите NetBeans декодирование выходных данных Ant.
  2. Добавьте параметр emacsmode в maven-antrun-plugin.
  3. Найдите собственный плагин Maven jslint (чтобы Ant вообще не использовался).

Вариант 3 выглядел потенциально самым простым, поэтому я использовал TortoiseSVN для загрузки исходного кода для http://mojo.codehaus. .org/jslint-plugin/ из https://svn. codehaus.org/mojo/trunk/sandbox/jslint-plugin и все заработало. Но он выдает недружественный для NetBeans вывод, например:

[ERROR]jssvg.js:2690:48:'keydown' is not defined.
2
arx 4 Мар 2011 в 16:46
Спасибо за обновление исходного вопроса с хорошими наблюдениями.
 – 
Hiro2k
30 Авг 2012 в 01:46

1 ответ

Самый простой способ — добавить этот плагин. Поддерживает Netbeans 7.3.

1
Stanislav Lomadurov 28 Май 2013 в 23:18