Я использовал tomcat7-maven-plugin, чтобы запустить мой проект Spring MVC, и попытался получить полный путь в контроллере Spring ниже.
String path = this.getClass().getClassLoader().getResource("").getPath();
Это даст мне путь, как показано ниже.
C:/Users/xxxxx/Documents/xxx/apache-tomcat-8.5.31/webapps/showcase/WEB-INF/classes/
Тогда я могу получить контекстный путь по fullPath.split("/WEB-INF/classes/")
.
На самом деле это не имеет ничего общего с springmvc, любое веб-приложение java может получить контекстный путь, как этот, если не может получить servletContext.
Но если я запускаю проект в режиме разработки с помощью ' mvn tomcat7: run '. Это даст мне путь, как показано ниже.
C:/git/xxxxx/showcase/target/classes
Тогда я не могу получить контекстный путь по этому URL. Я хочу знать, где находится корневой контекст, когда я запускаю проект maven и как его получить? Спасибо.