Netbeans не может запустить package.json в веб-приложении MAVEN

Используя Netbeans 8.2, я создал новое веб-приложение MAVEN. Я поместил рабочий package.json файл в папку Web Pages, поэтому его путь

C: \ Users \ xxx \ Documents \ NetBeansProjects \ MyApp \ src \ main \ webapp \ package.json

Я щелкнул левой кнопкой мыши package.jsonfile и выбрал параметр npm install. Затем меня встретили эти ошибки / предупреждения

"C:\Program Files\nodejs\npm.cmd" "install"
npm WARN ENOENT ENOENT: no such file or directory, open 'C:\Users\Nick\Documents\NetBeansProjects\MyApp\package.json'
npm WARN EPACKAGEJSON C:\Users\xxx\Documents\NetBeansProjects\MyApp No description
npm WARN EPACKAGEJSON C:\Users\xxx\Documents\NetBeansProjects\MyApp No repository field.
npm WARN EPACKAGEJSON C:\Users\xxx\Documents\NetBeansProjects\MyApp No README data
npm WARN EPACKAGEJSON C:\Users\xxx\Documents\NetBeansProjects\MyApp No license field.
Done.

Я заметил, что Netbeans пытается найти package.json не в том месте

C: \ Users \ Nick \ Documents \ NetBeansProjects \ MyApp \ package.json '

И я не могу понять, как указать среде IDE, где это искать.

Когда я иду в

Свойства проекта> Библиотеки JavaScript> npm

Я получаю пустой вид с

package.json не найден

Мой вопрос в том, как я могу настроить netbeans, чтобы увидеть этот package.json и запустить его? Он работал нормально, когда я пытался использовать его в проекте HTML5, но мне нужна поддержка npm для проекта веб-приложения Java.


person svarog    schedule 06.01.2017    source источник
comment
Я повторяю этот вопрос. Похоже, Netbeans хочет, чтобы пользователь отделил проекты HTML5 от проектов Java?   -  person fedd    schedule 09.01.2018
comment
Если я помещаю (создаю) package.json в корневую папку проекта, кажется, что он работает: загружает библиотеки и зависимости и т. Д .; однако я понятия не имею, как ссылаться на эти файлы js из htmls, jsps и представлений проекта.   -  person fedd    schedule 09.01.2018


Ответы (1)


Я действительно поздно отвечать на свой вопрос, но в конце концов я нашел решение, выходящее за рамки встроенной механики IDE. Я использовал frontend-maven-plugin для настройки локального репозитория npm для моего проекта. Вместо того, чтобы использовать параметр npm install, предоставленный IDE, я использовал maven для определения цели и запускал ее с помощью _ 2_.

  1. Чтобы установить плагин, отредактируйте свой pom.xml (фрагмент отсюда), добавьте дескриптор плагина и выполнение, которое загрузит и установит npm внутри вашего репо

    <plugins>
        <plugin>
            <groupId>com.github.eirslett</groupId>
            <artifactId>frontend-maven-plugin</artifactId>
            <version>1.8.0</version>
            <executions>
                <!-- Installs node + npm in your repo -->
                <execution>
                    <id>install node and npm</id>
                    <goals>
                        <goal>install-node-and-npm</goal>
                    </goals>
                    <phase>generate-resources</phase>
                </execution>
                ...
    
  2. Я добавил этот код к приведенному выше, это выполнение, которое запускает npm install (snippet найдено здесь)

        ....
        <execution>
            <id>npm install</id>
            <goals>
                <goal>npm</goal>
            </goals>
    
            <!-- optional: default phase is "generate-resources" -->
            <phase>generate-resources</phase>
    
            <configuration>
                <!-- optional: The default argument is actually
                "install", so unless you need to run some other npm command,
                you can remove this whole <configuration> section.
                -->
                <arguments>install</arguments>
            </configuration>
        </execution>
    </plugin>
    
  3. Создайте файл package.json (в том же каталоге, где находится ваш pom) и начните помещать в него материалы (example)

  4. Я добавил ссылку на цель npm install внутри nbactions.xml, я дал ей отображаемое имя npm-install

    </actions>
        ...
        <action>
            <actionName>CUSTOM-npm-install</actionName>
            <displayName>npm-install</displayName>
            <goals>
                <goal>npm</goal>
            </goals>
        </action>
    </actions>
    
  5. Затем щелкните правой кнопкой мыши Project (из представления проектов) -> Run Maven -> npm-install

введите здесь описание изображения

Затем плагин запустит и установит package.json и среду выполнения узла в отдельном каталоге, который не будет связан с вашим проектом, вы можете отредактировать его там и повторно запустить цель.

person svarog    schedule 12.11.2019