I see no way to override the paths where the embedded NodeJS is extracted. I see it's possible to specify path to a local installation of NodeJS and that the embedder is generally able to pick up a good preinstalled version of NodeJS if it fails to extract its own, but still I'd like to be able to use the embedded on Windows.
More details:
I am developing an Eclipse RCP application which needs to launch own NodeJS server. My Eclipse version is rcp-2024-12 installed in Program Files on Windows. Both Eclipse and the RCP application are run using Eclipse Adoptium jdk-21.0.6.7-hotspot. The embedder plugin is org.eclipse.platform_4.34.0_100354427_win32_win32_x86_64\plugins\org.eclipse.wildwebdeveloper.embedder.node_1.0.7.202411181924.jar
When using the wildweb developer node embedder on Windows, I get the following exception:
java.io.IOException: failed to create directory C:\Program Files\eclipse\rcp-2024-12.node\node-v22.11.0-win-x64
at org.eclipse.wildwebdeveloper.embedder.node.CompressUtils.extractArchive(CompressUtils.java:81)
at org.eclipse.wildwebdeveloper.embedder.node.CompressUtils.unarchive(CompressUtils.java:52)
at org.eclipse.wildwebdeveloper.embedder.node.NodeJSManager.getNodeJsLocation(NodeJSManager.java:84)
at my.own.code
........
I did a bit of testing and indeed
var directory = new File("C:\\Program Files\\eclipse\\rcp-2024-12\\.node"); System.out.println(directory.exists() && directory.isDirectory() && directory.canWrite() && directory.canExecute());
returns true when run with the same user and permissions as the application.
The permissions for the .node directory are shown on the screenshot below:
