1.方法一,获取项目运行时的真实类路径
/* private static Logger logger = Logger.getLogger(BookController.class); */ @RequestMapping("/index") public String bookHandle(HttpServletRequest servlet) { //项目路径 String filePath3 = request.getServletContext().getRealPath("/"); System.out.println(filePath3); return "book"; }
2.方法 二,获取项目运行时的真实类路径
/* private static Logger logger = Logger.getLogger(BookController.class); */ @RequestMapping("/index") public String bookHandle(HttpServletRequest servlet) { String filePath4 = BookController.class.getClassLoader().getResource("static/json/book_nav.json").getPath(); System.out.println(filePath4); return "book"; }
3.用spring 获取运行时类路径路径
String filePath = ClassUtils.getDefaultClassLoader().getResource("").getPath();
4.其它方法
package com.demo; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration; import org.springframework.boot.autoconfigure.orm.jpa.HibernateJpaAutoConfiguration; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RestController; import java.io.File; @SpringBootApplication(exclude = {DataSourceAutoConfiguration.class, HibernateJpaAutoConfiguration.class}) @RestController public class Application { public static void main(String[] args) { SpringApplication.run(Application.class,args); } @GetMapping("/lujing") public void getLujing() throws Exception{ //当前项目下路径 File file = new File(""); String filePath = file.getCanonicalPath(); System.out.println(filePath); //当前项目下xml文件夹 File file1 = new File(""); String filePath1 = file1.getCanonicalPath()+File.separator+"xml\"; System.out.println(filePath1); //获取类加载的根路径 File file3 = new File(this.getClass().getResource("/").getPath()); System.out.println(file3); //获取当前类的所在工程路径 File file4 = new File(this.getClass().getResource("").getPath()); System.out.println(file4); //获取所有的类路径 包括jar包的路径 System.out.println(System.getProperty("java.class.path")); } }
转: https://www.cnblogs.com/jiangfeilong/p/11106129.html