首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用express框架和node.js时的运行时java.lang.NoClassDefFoundError

使用express框架和node.js时的运行时java.lang.NoClassDefFoundError
EN

Stack Overflow用户
提问于 2014-08-11 19:41:11
回答 1查看 1K关注 0票数 1

我正在尝试编写一个示例代码来创建一个java类的实例,然后使用该实例调用一个方法。我使用node-java模块来做这件事。代码编译时没有任何错误。但是,当我点击URL时,它实际上命中了相同的代码,然后我得到了class not found异常。

我已经验证了jar和它位于与index.js相同的目录中,并且jar还包含要为其创建实例的类文件(Application.class)。

我的index.js文件

代码语言:javascript
复制
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;
EN

回答 1

Stack Overflow用户

发布于 2015-08-28 01:43:40

对不起,我的英语不好。我也有同样的问题。看看我的代码:[https://github.com/joeferner/node-java/issues/147]

代码语言:javascript
复制
`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解决了文件路径的问题

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25242449

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档