博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
idea中maven web项目设置的相关问题
阅读量:6331 次
发布时间:2019-06-22

本文共 1211 字,大约阅读时间需要 4 分钟。

在自己尝试着使用idea配置一些maven web项目基本的设置,虽然不起眼,但是对于使用idea进行开发却至关重要。

测试时的目录结构如下图所示:

 

 有几个重要概念在开发时需要特别注意,只有弄清楚才能自如的对项目进行相关设置,从打开项目结构alt+ctrl+shift+s说起:

1 project 中的project compile output目录设置的路径不重要,因为在具体module中会被Path覆盖。

2 在关键的module设置中,maven结构 src/main/java一般设置为source,里面的java文件在编译后会放在module中path设置的位置,使用maven,path的默认位置是项目名/target/classes下(可更改),注意项目src/main/resources文件也会被直接编译到target/classes/下,如图bb.xml

3 对于module中关键的dependency问题,即依赖包,在maven 项目里,在src/main/webapp/inf/lib中是不需要加入jar包,因为maven已经自动管理,运行时会从本地仓库读取,同时src/main/webapp/inf/classes文件夹中也是没有内容,项目编译输出可以根据module中path的默认设置在target下,因此src/main/webapp/inf/classes文件夹为空。  当我们在artifacts中对项目进行打包成exploded war时,若选择在项目的src/main/webapp下输出,则idea会把target/classes中的编译文件,包括class文件和xml配置文件等都拷贝一份到src/main/webapp/inf/classes目录下,这是该目录才有值,正常编译时没有内容(默认编译目录在target下),lib文件也为空,tomcat根据src/main/webapp下打包成exploded war进行加载时,可以做到实时更新对jsp文件热部署。

4 在编译之后,即可在target中生成classes编译目录,mvn package命令后,会生成项目名/wen-inf和meta-inf的web APP文件,并且对该文件进行war打包,(需要再pom.xml中配置<packaging>为war,默认为jar),在idea中可以对war文件或target下目录文件进行部署,也可以对artifacts中的exploded war文件进行部署,之后exploded war 文件部署在webapp下时,可实现实时呈现,前两个都需要重新package,重新部署才可。

这样就可以正常部署项目了,以上都是自己实践得来,如有错误或者不当之处,欢迎指正。

 

转载于:https://www.cnblogs.com/wangfeigg/p/6296324.html

你可能感兴趣的文章
App 卸载记录
查看>>
react入门
查看>>
vs2010生成Dll文件并引用dll(C#)
查看>>
百思不得姐 one day
查看>>
19.04.16--指针笔记-参数传递
查看>>
POJ1860 Currency Exchange
查看>>
《VMware、Citrix和Microsoft虚拟化技术详解与应用实践》一2.2 ESXi简介
查看>>
C#反射方法学习
查看>>
MD5加密解密
查看>>
.Net 转战 Android 4.4 日常笔记(6)--Android Studio DDMS用法
查看>>
SVN被锁定的几种解决方法
查看>>
js如何判断是否在iframe中及防止网页被别站用 iframe嵌套 (Load denied by X-Frame-Options)...
查看>>
ios ios7 取消控制拉升
查看>>
182在屏幕中实现网格化视图效果
查看>>
本文摘录 - FlumeJava
查看>>
Scala学习(三)----数组相关操作
查看>>
Matlab基于学习------------------函数微分学
查看>>
Dundas 系列
查看>>
Windows的命令行查看,修改,删除,添加环境变量
查看>>
iOS 图文混排
查看>>