更多的问题是这是否可能,我怀疑它是可能的。我在 tomcat 上部署了一个应用程序,我想从 java 代码中引用一些 python 代码。我可以使用运行时 exec 来完成此操作,并使用指向我的 webapps 文件夹的硬编码路径,我还在其中放入了 python 代码。
String pythonEntry = "C:\\apps\\tomcat\\webapps\\app_name##_version\\WEB-INF\\app-python\\my_python_file.py"
但是,我对此路径进行硬编码的问题是,每次有新版本时,“##_version”都会发生变化。我可以使用正则表达式使其动态化,以便它只查找“app_name”文件夹而不关心“##version”中的内容吗?
或者这完全是错误的方法吗?
最佳答案
看起来您有一个在 Tomcat 中运行的 JavaEE Web 应用程序。
那么您应该使用 servlet-context-relative 路径(即从 /WEB-INF
开始)。
ServletContext context = request.getServletContext();
String fullPath = context.getRealPath("/WEB-INF/app-python/my_python_file.py");
其中 request
是 HttpServletRequest
。
更多信息可以在这里找到:ServletContext.getRealPath(java.lang.String)
关于java - 正则表达式为运行时 exec java 创建文件路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51364409/