一,idea项目原结构
ics.credit
src
mian
java
com.pingan.credit
resources
config
一系列的配置文件
webapp
WEB-INF
lib
web.xml
error.jsp
index.jsp
二,idea项目打包后结构
target
classes
com
config
一系列配置文件
打包后war包结构:
ics.credit
error.jsp
index.jsp
META-INF
WEB-INF
classes
com
config
一系列配置文件
lib
web.xml
总结:
1,打包谁?
java,resource,webapp目录下
2,打包到哪?
java,resource至 webapp--classes下
三,如何打包项目
方式一:配置Maven命令
位置:Edit configration--Maven--package--Parameters--command line:
配置命令:clean package -DskipTests
双击Maven名称即可自动打包。
方式二:项目生命周期
idea--右侧MavenProject--项目名称--Lifecycle--clean等相关命令
clean命令先删除本地target目录,在重新生成target目录
问题:
Lifecycle以及Plugins(generator命令)如何调出来的?
java项目中Classpath路径到底指的是哪里?
1、src不是classpath, WEB-INF/classes,lib才是classpath,WEB-INF/ 是资源目录, 客户端不能直接访问。
2、WEB-INF/classes目录存放src目录java文件编译之后的class文件,xml、properties等资源配置文件,这是一个定位资源的入口。
3、引用classpath路径下的文件,只需在文件名前加classpath:
<param-value>classpath:applicationContext-*.xml</param-value>
<!-- 引用其子目录下的文件,如 -->
<param-value>classpath:context/conf/controller.xml</param-value>
4、lib和classes同属classpath,两者的访问优先级为: lib>classes。
5、classpath 和 classpath* 区别:
classpath:只会到你的class路径中查找找文件;
classpath*:不仅包含class路径,还包括jar文件中(class路径)进行查找。