wru*_*ell 5 java tomcat jsr223
我试图理解我在Tomcat中运行时遇到的JSR223脚本问题.我正在使用Java脚本引擎,但我相信这个问题更普遍适用(我也看到了类似的参考JS引擎问题).我通过评估的脚本将其作为第一行:
import javax.servlet.http.*;
Run Code Online (Sandbox Code Playgroud)
这失败并显示以下消息:
package javax.servlet.http does not exist
Run Code Online (Sandbox Code Playgroud)
因此,深入研究Java脚本引擎的源代码,我知道为什么会这样 - 它将我的脚本文本传递给JavaCompiler,指定它从中检索的类路径java.class.path
,但是因为Tomcat在类加载器和类路径方面做了自己的事情关心的是,唯一包含的是$CATALINA_HOME/bin/bootstrap.jar
.
可以覆盖脚本引擎将使用的类路径,但那只是向我提出我的下一个问题 - 如何在运行时发现Tomcat正在使用什么claspath?
似乎我必须在这里遗漏一些明显的东西,因为据我所知,任何试图在Web应用程序中进行任何严格脚本编写的人都会发生这种情况,但我已经搜索了几个小时进行讨论在这方面,甚至找不到任何人问这个问题......
归档时间: |
|
查看次数: |
260 次 |
最近记录: |