如何获取Spring启动应用程序根路径?

如何获取Spring启动应用程序根路径?,spring,spring-boot,Spring,Spring Boot,SpringBoot应用程序使用嵌入式Tomcat/Jetty

SpringBoot应用程序使用嵌入式Tomcat/Jetty如何获取Spring Boot应用程序根路径?

Spring MVC应用程序中,我们将应用程序部署到外部Tomcat contianer,以便我们可以使用HttpServletRequest类来查找根文件夹路径

但是在Spring Boot中,应用程序使用HttpServletRequest不会返回应用程序根文件夹路径Spring Boot应用程序是带有main方法的java应用程序

所以我使用了这个解决方法如果你找到更好的方法,请与我分享。谢谢。

YourClass.class.getProtectionDomain().getCodeSource().getLocation().getPath();
返回与代码源关联的URL位置


获取URL的路径部分

什么意思?你在用Maven、Gradle还是别的什么?我在用Maven。在SpringMVC中,我们将应用程序部署在外部tomcat/jetty等容器中,但在SpringBoot中,tomcat是嵌入式的,它只是一个带有main方法的简单java应用程序。如何获取应用程序根路径。我指的是相对/物理路径。为什么需要这个?通常这是因为您尝试执行的操作在这种情况下无论如何都不起作用(imho也不应该这样做)。我正在尝试在我的应用程序中创建一个文件夹并将上载的文件保存在该文件夹中,因此我需要我的应用程序根文件夹相对路径。请使用更多信息进行编辑。不鼓励只编写代码和“试试这个”答案,因为它们不包含可搜索的内容,也不解释为什么有人应该“试试这个”。我们努力成为知识的源泉。