Netbeans无法在MAVEN Web应用程序上运行package.json

时间:2017-01-06 20:08:20

标签: maven netbeans npm netbeans-8

使用Netbeans 8.2,我创建了一个新的MAVEN Web应用程序。我在package.json文件夹中放置了一个有效的Web Pages文件,因此它的路径是

  

C:\用户\ XXX \文件\的NetBeansProjects \ MyApp的\ SRC \主\ web应用\的package.json

我左键单击package.json文件,然后点击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:\用户\尼克\文件\的NetBeansProjects \ MyApp的\的package.json'

我似乎无法弄清楚如何告诉IDE在哪里寻找它。

当我去

  

项目属性> JavaScript库> NPM

我用

得到一个空视图
  

找不到package.json

我的问题是,如何设置netbeans以查看' package.json'并运行它?我在HTML5项目中尝试使用它时工作正常,但我需要npm支持Java Web应用程序项目。

1 个答案:

答案 0 :(得分:0)

我真的来不及回答我的问题,但是我最终找到了内置IDE机制之外的解决方案。我使用frontend-maven-plugin为我的项目设置了本地npm存储库。 与使用IDE提供的npm install选项不同,我使用maven定义了一个目标,并使用nbactions.xml来运行它。

  1. 要安装插件,请编辑pom.xml(摘录from here),添加插件描述符和执行程序,以在仓库中下载并安装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(代码段found here)的执行

        ....
        <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. 然后,右键单击项目(从项目视图)->运行Maven-> npm-install

enter image description here

然后,该插件将运行并在单独的目录中运行package.json和节点运行时,该目录不会与您的项目捆绑在一起,您可以在此处进行编辑并重新运行目标。