Thanks though it doesn't work very stable as it turned out...
The goal is just to have a mavenized jar that can be referenced in other
project's pom and make all javascript artifacts available to it. I made
npm scripts that are run by maven so that I build all javascripts with
the Netbeans build button, found examples on the net:
package.json part:
"scripts": {
"bundle": "webpack"
},
webpack conf part (I keep javascripts in a special folder between an
empty "java" and a git-ignored "webapp" folders, the latter gets
recreated upon every build):
entry: {
dela: './src/main/js/dela.js',
process: './src/main/js/process.js'
},
output: {
path: __dirname + '/src/main/webapp',
filename: '[name].js'
},
...
plugins: [
new CleanWebpackPlugin(),
new CopyWebpackPlugin([
// some project specific artifacts to copy like styles and
fonts
])
]
pom.xml part (the only addition to the pom that was created by new
project wizard):
<build>
<resources>
<resource>
<!-- webapp is used as a webpack output directory
because NetBeans
activates NPM tooling when this direcotry is present,
so why not?
but now we have to copy this to the res directory in
the jar's root -->
<directory>src/main/webapp</directory>
<targetPath>res</targetPath>
</resource>
</resources>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<version>1.6.0</version>
<executions>
<execution>
<id>npm install (initialize)</id>
<goals>
<goal>exec</goal>
</goals>
<phase>initialize</phase>
<configuration>
<executable>npm</executable>
<arguments>
<argument>install</argument>
</arguments>
</configuration>
</execution>
<execution>
<id>npm install (clean)</id>
<goals>
<goal>exec</goal>
</goals>
<phase>pre-clean</phase>
<configuration>
<executable>npm</executable>
<arguments>
<argument>install</argument>
</arguments>
</configuration>
</execution>
<execution>
<id>npm config list (validate)</id>
<goals>
<goal>exec</goal>
</goals>
<phase>validate</phase>
<configuration>
<executable>npm</executable>
<arguments>
<argument>config</argument>
<argument>list</argument>
</arguments>
</configuration>
</execution>
<execution>
<id>npm run bundle (compile)</id>
<goals>
<goal>exec</goal>
</goals>
<phase>generate-resources</phase>
<configuration>
<executable>npm</executable>
<arguments>
<argument>run</argument>
<argument>bundle</argument>
</arguments>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
On 15.04.2019 16:18, Geertjan Wielenga wrote:
You may have found a (the) way to combine Java, Maven, JavaScript, and
NPM. If so, that’s amazing.
Gj
On Mon, 15 Apr 2019 at 08:56, Fedd <[email protected] <mailto:[email protected]>>
wrote:
Thanks, some Netbeans module has updated (I think it was called
"Local Tasks") and the package.json editor has retured.
There is nothing special in my project. To reproduce success
scenario, one may just create a new "Java with Maven / Java
Application", in Files window go to the src/main folder and create
a new one called "webapp". Then go to the Project Properties
(right click the project root and then "Properties") and see that
in JavaScript Category there are three items, "npm", "Bower" and
some other. "npm" is what I was missing. Now it's there again.
Thank you the developers! =)
fedd
On 15.04.2019 15:02, Geertjan Wielenga wrote:
It is hard to know what your project looks like or contains. But
however you have opened it, you’ll see all its content in the
Files window. If you can put a project that looks like this (or
ideally is) this project on GitHub so that we can look at it,
that will help.
Gj
On Mon, 15 Apr 2019 at 03:32, Fedd <[email protected]
<mailto:[email protected]>> wrote:
Hello,
I desperately need to have an ability to work with NPM
libraries in a
Maven non-webapp project, but NetBeans decides not to show the
JavaScript libraries project property menu in order not to
confuse me (?)
Again, this is neither a HTML5/JavaScript project nor "Java
with Maven /
Web Application". It is "Java with Maven / Java Application"
and I just
want to edit my package.json with what we have for doing this
in web
projects.
How do I activate the Javascript Libraries in the Java Maven
Project
properties window? I confirm that I thought well and I do
need this.
At first it looked like that the presence of webapp directory in
"src/main" made Netbeans to show the desired submenu, but
then it
somehow stopped working, I have rolled back most of my
changes, but
NetBeans is still outsmarting me.
Is there any magic configuration file entry?
My SO question regarding this with pictures:
https://stackoverflow.com/questions/50932323/list-npm-libraries-in-netbeans-8-2-maven-java-non-web-app-project
Regards,
Fyodor
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
<mailto:[email protected]>
For additional commands, e-mail:
[email protected]
<mailto:[email protected]>
For further information about the NetBeans mailing lists, visit:
https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists