我有一个Spring boot项目,它还可以在某一时刻执行一个node.js文件。我的项目结构是:
ROOT
- src/
- jsModules/
- script.js有一次,我使用以下命令从java代码执行script.js (带有一些参数):
Process proc = Runtime.getRuntime().exec(executingScriptString);一旦我将其打包到fatJar中,我就必须手动复制粘贴jsModules文件夹和.jar所在的文件夹根目录中的script.js。
是否有可能以某种方式将所有JS文件打包到fatJar中,这样一旦我将其打包,我就不需要担心JS文件被复制。
我试着搜索如何做到这一点,但没有找到任何答案。
发布于 2020-01-18 20:38:07
这就是答案:
将JS文件放在resources文件夹中,使其在类路径上可用。
在执行脚本时,请确保调整文件的路径。
我使用的不是"/"符号,而是java.io包中的File.separator,虽然它在Windows上创建了一个node src\main\resources\pptrSoccer.js字符串,但似乎工作正常。
希望这能帮助到别人。
编辑:我尝试使用ResourceLoader (来自Spring框架)
resourceLoader.getResource("classpath:script.js").getFile().getAbsolutePath();它在爆炸(从集成开发环境中运行)时可以工作,但当我打包成fatJar时它就不能工作了。
https://stackoverflow.com/questions/59672879
复制相似问题