从servlet中获取Web应用程序类路径

时间:2010-07-15 16:20:29

标签: java servlets classpath

这样做的原因是因为我想使用与我的servlet相同的类路径运行Runtime.exec()。 我想要运行的类在WEB-INF / classes / my / package /.

所以我想构建一个cmdarray作为String [] {“java”,“ - cp”,my_servlet_classpatch,“my.package.myclass”} 我只是找不到一种方法来获取我正在运行的servlet类路径。

注意:这必须在Tomcat或Jetty(或任何体面的servlet容器)中工作。

1 个答案:

答案 0 :(得分:1)

getServletContext().getRealPath(...)会成为您想要的吗?

例如,如果webapp在Linux上,并且ImageMagick工具可用,我需要进行一些图像处理(不,我不想使用Java ImageMagick包装器)。我的webapp有一个“图像”存储库,我的所有图像都存在于其中。我可以通过发出:

来获取实际部署的目录
getServletContext().getRealPath( "images" )

给出了:

/home/tomcat/apache-tomcat-6.0.26/webapps/mywebapp/download

请注意,在您的情况下,我不确定您是否需要:您是否真的想使用Runtime.exec生成新的Java进程?