我正在尝试编写一个示例代码来创建一个java类的实例,然后使用该实例调用一个方法。我使用node-java模块来做这件事。代码编译时没有任何错误。但是,当我点击URL时,它实际上命中了相同的代码,然后我得到了class not found异常。
我已经验证了jar和它位于与index.js相同的目录中,并且jar还包含要为其创建实例的类文件(Application.class)。
我的index.js文件
var java = require("java");
java.classpath.push("demo.jar");
var express = require('express');
var router = express.Router();
var Application = java.import('Application');
/* GET home page. */
router.get('/', function(req, res) {
var application = new Application();
var resp = application.getResponse();
res.render('index', { title: resp });
});
module.exports = router;发布于 2015-08-28 01:43:40
对不起,我的英语不好。我也有同样的问题。看看我的代码:[https://github.com/joeferner/node-java/issues/147]:
`var java = require("java");
var path=require("path");
var fs=require("fs");
console.log("ruta in directory",path.join(__dirname));
console.log("exist file:",fs.existsSync(path.resolve(__dirname,"./lib-java/lib-tgd.jar")));
java.classpath.push("commons-lang3-3.1.jar");
java.classpath.push("commons-io.jar");
java.classpath.push(path.resolve(__dirname,"./lib-java/lib-tgd.jar"));
java.classpath.push(path.resolve(__dirname,"./lib-java/jackson-annotations- 2.5.1.jar"));
java.classpath.push(path.resolve(__dirname,"./lib-java/jackson-core-2.5.1.jar"));
java.classpath.push(path.resolve(__dirname,"./lib-java/jackson-databind-2.5.1.jar"));`使用path.resolve解决了文件路径的问题
https://stackoverflow.com/questions/25242449
复制相似问题