关于在Winodws/Linux下Web项目获取src目录下文件路径的方法
2017-12-11 18:03
996 查看
一、普通Web项目与Maven中Web项目编译产生文件的区别
1、普通Web项目
当项目为普通Web项目时,例如在/src目录下有类跟一些配置文件时
此时一旦编译,生成的文件将会存在于/build/classes文件夹内
如果将项目打成war包,生成的文件存在于/classes下
结果:此时不管是在windows下,还是linux下,获取/src项目根路径都是
2、Maven项目
当项目为Maven Web项目时,由于存在一个父项目和多个子项目,例如:
1、在每个子项目中,目录格局都如下图所示
此时一旦编译,生成的文件将会存在于/target/classes文件夹内
结果:此时不管是在windows下,还是linux下,获取/src项目根路径都是
2、当Freemarker-generator被打成jar包后,如果在Freemarker-web项目中引入了该jar,而Freemarker-generator中某个类又需要读取项目/src目录下的文件,这种情况Freemarker-generator将不会读取它自己项目/src中的文件,而是读取引入它的jar包的项目/src目录下的文件,也就是Freemarker-web/src,此时倘若存在资源需要被用到,就必须放在Freemarker-web/src/resources下,Freemarker-generator项目中的类获取文件目录的方法为
类名.class.getResource("/").getPath();(不管是在windows下,还是linux下)
3、一个maven项目只会有一个war包,当类型为.war的项目打包后
注意:如果不是像apllicationContext.xml这种能在web.xml配置扫描的文件,都必须放到.war类型的项目的resources文件夹下,不然项目会报错。
二、业余拓展
不管是普通Web项目(/WebContent),还是Maven项目(/webapp),如果需要获取这些目录
都可使用request.getSession().getServletContext().getRealPath("/")进行获取。
1、普通Web项目
当项目为普通Web项目时,例如在/src目录下有类跟一些配置文件时
此时一旦编译,生成的文件将会存在于/build/classes文件夹内
如果将项目打成war包,生成的文件存在于/classes下
结果:此时不管是在windows下,还是linux下,获取/src项目根路径都是
2、Maven项目
当项目为Maven Web项目时,由于存在一个父项目和多个子项目,例如:
1、在每个子项目中,目录格局都如下图所示
此时一旦编译,生成的文件将会存在于/target/classes文件夹内
结果:此时不管是在windows下,还是linux下,获取/src项目根路径都是
2、当Freemarker-generator被打成jar包后,如果在Freemarker-web项目中引入了该jar,而Freemarker-generator中某个类又需要读取项目/src目录下的文件,这种情况Freemarker-generator将不会读取它自己项目/src中的文件,而是读取引入它的jar包的项目/src目录下的文件,也就是Freemarker-web/src,此时倘若存在资源需要被用到,就必须放在Freemarker-web/src/resources下,Freemarker-generator项目中的类获取文件目录的方法为
类名.class.getResource("/").getPath();(不管是在windows下,还是linux下)
3、一个maven项目只会有一个war包,当类型为.war的项目打包后
注意:如果不是像apllicationContext.xml这种能在web.xml配置扫描的文件,都必须放到.war类型的项目的resources文件夹下,不然项目会报错。
二、业余拓展
不管是普通Web项目(/WebContent),还是Maven项目(/webapp),如果需要获取这些目录
都可使用request.getSession().getServletContext().getRealPath("/")进行获取。
相关文章推荐
- java程序中获取项目或者目录或者文件路径的方法
- 两种在web项目中获取读取文件的路径的方法
- Linux下搭建SVN服务器及自动更新项目文件到web发布目录(wwwroot)的方法
- linux获取文件的路径名及其文件名的方法
- IOS中获取各种文件的目录路径的方法
- 获取JAVA[WEB]项目相关路径的几种方法
- 关于WCF访问跨越站点获取文件路径的AppDomain方法区别与HttpContext
- 记录一下,根据文件路径获取到其所在目录的方法
- Linux学习之路--获取某目录下的所有文件的名字(包括路径)
- java 工程获取路径 web根目录。 项目classpath根目录 各种实用方法
- 三种方法可以获取当前web程序目录物理路径
- IOS中获取各种文件的目录路径的方法
- JAVA文件中获取该项目的相对路径方法
- IOS中获取各种文件的目录路径的方法
- java 工程获取路径 web根目录。 项目classpath根目录 各种实用方法 摘抄收藏
- 关于JAVA EE项目在WEB-INF目录下的jsp页面如何访问WebRoot中的CSS和JS文件
- UNIX/LINUX环境中使用MATLAB获取指定路径下特定文件列表的方法
- 关于JAVA EE项目在WEB-INF目录下的jsp页面如何访问WebRoot中的CSS和JS文件
- java 工程获取路径 web根目录。 项目classpath根目录 各种实用方法 摘抄收藏
- 关于JAVA EE项目在WEB-INF目录下的jsp页面如何访问WebRoot中的CSS和JS文件