【发布时间】:2019-08-27 09:12:06
【问题描述】:
我想在 node.js 项目的 package.json 中运行 java 命令。
如果在命令行中的正确目录中,我可以这样做:
java -Xmx4g -cp "*" edu.stanford.nlp.pipeline.StanfordCoreNLPServer -port 9000 -timeout 15000
但如果我将此命令放入 package.json 的脚本部分:
...
"scripts": {
"corenlp": "java -Xmx4g -cp \"*\" edu.stanford.nlp.pipeline.StanfordCoreNLPServer -port 9000 -timeout 15000 "
},...
我收到java.lang.ClassNotFoundException: edu.stanford.nlp.pipeline.StanfordCoreNLPServer
显然我的路径不正确,但无论我对路径做什么,我都无法解决它。 另请注意,此 corenlp 位于节点项目之外的另一个目录中。
maindir/ ---> nodeProject/package.json
---> cornlpServer/folder1/folder2/corenlpFiles
//this is where I can run the origninal command
如果有的话,我对 java 路径解析器的工作原理不是很熟悉。 但基本上我希望能够执行 npm run corenlp ,它的行为就像一开始的原始命令。 那么我需要如何更改命令才能满足这种行为呢?
【问题讨论】:
-
当您说“如果在正确的目录中”(运行您的 java CLI)时,您的意思是“nodeProject”还是“.../corenlpFiles”?
-
在“../corenlpFiles”中
-
那么你为什么希望它在你的“nodeProject”目录中工作呢?您是否尝试过更改目录的命令?喜欢
cd "../corenlpFiles" && java ... -
谢谢你的作品。
标签: java node.js npm-scripts