从 servlet 内获取 Web 应用程序类路径
这样做的原因是因为我想使用与我的 servlet 相同的类路径来使用 Runtime.exec()。 我想要运行的类位于 WEB-INF/classes/my/package/ 中。
所以我想构建一个 cmdarray 作为 String[] {"java","-cp", my_servlet_classpatch, "my.package.myclass"} 我只是找不到一种方法来获取正在运行的 servlet 类路径。
注意:这必须在 Tomcat 或 Jetty(或任何合适的 servlet 容器)中工作。
The reason to do that is because I want to use Runtime.exec() using the same classpath as my servlet.
The class I want to run is within WEB-INF/classes/my/package/.
So I want to build a cmdarray as String[] {"java","-cp", my_servlet_classpatch, "my.package.myclass"}
I just can't find a way to get my running servlet classpath.
NB: This has to work in Tomcat or Jetty (or any decent servlet container).
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
getServletContext().getRealPath(...)
是您要找的吗?例如,如果 web 应用程序位于 Linux 上并且 ImageMagick 工具可用(并且,不,我不想使用 Java ImageMagick 包装器),我需要进行一些图像处理。我的网络应用程序有一个“图像”存储库,其中包含我的所有图像。我可以通过发出以下命令来获取实际部署的目录:
给出:
请注意,在您的情况下,我不确定您是否需要这个:您真的想使用 Runtime.exec 生成一个新的 Java 进程吗?
Would
getServletContext().getRealPath(...)
be what you're looking for?For example I need to do some image processing if the webapp is on Linux and if the ImageMagick tools are available (and, no, I don't want to use the Java ImageMagick wrapper). My webapp has got an "images" repository into which all my images are present. I can get the actual deployed directory by issuing a:
Which gives:
Note that in your case I'm not sure you need this: do you really want to spawn a new Java process using Runtime.exec?