Java Nashorn(JJS)的类路径资源

Java Nashorn(JJS)的类路径资源,java,spring,nashorn,jjs,Java,Spring,Nashorn,Jjs,我注意到,当使用nashorn的命令行实用程序JJS时,包含在类路径中的任何资源,无论是包含在JAR中还是位于类路径文件夹中,脚本都不可用。一个简单的例子: echo "java.lang.Class.class.getResourceAsStream('/test.txt')" | jjs -cp . 当当前文件夹中包含文件“test.txt”(通过-cp选项添加到类路径)时,此代码始终返回“null”。如果我直接使用java和jvm运行一个类似的示例,我将获得预期的资源(输入流引用)。在r

我注意到,当使用nashorn的命令行实用程序JJS时,包含在类路径中的任何资源,无论是包含在JAR中还是位于类路径文件夹中,脚本都不可用。一个简单的例子:

echo "java.lang.Class.class.getResourceAsStream('/test.txt')" | jjs -cp .
当当前文件夹中包含文件“test.txt”(通过-cp选项添加到类路径)时,此代码始终返回“null”。如果我直接使用java和jvm运行一个类似的示例,我将获得预期的资源(输入流引用)。在rhino下,我使用一个类似的例子得到了相同的结果


这是预期的行为吗?有没有办法访问nashorn中类路径下的资源?这导致了spring上下文的许多问题,例如,每次我尝试从XML文件加载我的应用程序上下文时,我都会遇到问题,因为它在运行时找不到所需的资源。这在rhino下运行良好,但我们正计划迁移到纳肖恩。非常感谢您的帮助。

我发现了这个github wiki,如果它声明加载资源只能用于nashorn的应用程序类加载器:这个相关问题给出了一个有用的答案,但它涉及到以编程方式创建nashorn引擎,而不是使用JJS: