使用node-jre模块执行java项目
我正在开发一个node.js应用程序,我需要执行Java代码。
我正在使用de node-jre模块( https://www.npmjs.com/package/node-jre )。
在这个web(Hello.class)中的例子用这个代码正确运行,并通过控制台用javac Hello.java编译 de Hello类:
var output = jre.spawnSync( // call synchronously ['java'], // add the relative directory 'java' to the class-path 'Hello', // call main routine in class 'Hello' ['World'], // pass 'World' as only parameter { encoding: 'utf8' } // encode output as string ).stdout.trim();
问题是当我试图执行我的Java项目(用Eclipse开发)。 该文件说,在这个目录下的'java'searchjar文件。 所以,这是我尝试的第一件事:导出到jar,但它不起作用。
那么,我该如何执行一个完整的项目(只有一个主类)呢?我认为这个项目使用外部库很重要。
jar子里面的META-INF / MANIFEST.MF看起来像:
Manifest-Version: 1.0 Class-Path: . Main-Class: com.packagename.example1.ClassName Name: org/apache/oro Specification-Title: Jakarta ORO Implementation-Title: org.apache.oro Implementation-Version: 2.0.8 2003-12-28 11:00:13 Specification-Version: 2.0.8 Specification-Vendor: Apache Software Foundation Implementation-Vendor: Apache Software Foundation
所以,我的代码是:
var output = jre.spawnSync( // call synchronously ['java'], // add the relative directory 'java' to the class-path 'ClassName', // call main routine in class 'Hello' ['World'], // pass 'World' as only parameter { encoding: 'utf8' } // encode output as string ).stdout.trim();
我也试着:
var output = jre.spawnSync( // call synchronously ['java'], // add the relative directory 'java' to the class-path 'com.packagename.example1.ClassName', // call main routine in class 'Hello' ['World'], // pass 'World' as only parameter { encoding: 'utf8' } // encode output as string ).stdout.trim();
'java'是我在同一级别server.js节点中的文件夹
问题是我只是把目录放在.jar文件中,正确的方法是把完整的path放到jar文件中: java / Nameofjarfile.jar
var output = jre.spawnSync( // call synchronously ['java/Nameofjarfile.jar'], // add the relative directory 'java' to the class-path 'com.packagename.example1.ClassName', // call main routine in class 'Hello' ['World'], // pass 'World' as only parameter { encoding: 'utf8' } // encode output as string ).stdout.trim();
- Java和Node之间的encryption不一致
- 在浏览器中运行seleniumbuild设者的摩卡testing
- 在HTTPS中从节点JS调用Java REST API(在Tomcat上)
- Node.js与struts可能吗?
- 运行Gottox / socket.io-java-client时出错
- 从azure eventhub使用node.js消耗八位字节stream数据
- Android与websocket通信(Node Websocket服务器和Android Java客户端)。 不要在Android 4上工作
- Nodejs和Java之间的连接 当java客户端连接到nodejs服务器,然后显示我错误,
- 安卓发布请求使用凌空