您的位置:首页 > 运维架构 > Linux

关于在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("/")进行获取。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  web maven class