我正在尝试获取部署在 tomcat 上的 Web 应用程序的类路径,以便我知道在哪里存储我的 xml 文件。
class MyClass {
@Value("${classpath:}")
private String classpath;
}
它不起作用。
如何获取类路径?
我需要这样的东西:“C:/Tomcat/webapp/WEB-INF/classes”。
最佳答案
您可以使用系统属性
@Value("#{systemProperties['java.class.path']}")
private String classPath;
请注意,这将为您提供一个以逗号分隔的列表,其中包含类路径中使用的所有目录和 jar
URI。
Tomcat 不需要解压缩您的 war
,因此您的 Web 应用程序可能从其存档中运行。因此,像这样的路径
C:/Tomcat/webapp/your-app/WEB-INF/classes
可能不存在。
对于您的应用程序正在生成的文件,为您自己决定一个专用目录并将它们放在那里。
关于java - 在 Spring 中使用@Value 检索应用程序类路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22873533/