荐 Intellij IDEA创建Maven Web项目(带有webapp文件夹目录的项目)

转载自:点击打开链接

在创建项目中,IDEA提供了很多项目模板,比如Spring MVC模板,可以直接创建一个基于Maven的Spring MVC的demo,各种配置都已经设定好了,直接编译部署就可以使用。

    最开始自己创建maven web项目时,要么创建一个springmvc项目进行修改,要么创建了一个maven项目(不是web项目),自己添加webapp目录添加配置web.xml文件,以及添加web moudle,配置属性等等。

    另外之前总结的几篇Intellij使用文章,里面多多少少都还有点问题,请以本篇为准。

    在Intellij 13.1以后的版本创建项目时的界面发生了调整,不过具体步骤都还是差不多的。本文使用的版本为13.1.2,

创建Maven Web项目

new project——maven——勾选 create from archetype 选中webapp

 

下一步 (图略)填写项目的 groupId  artifactId version 后Next 出现以下界面

Next后添加项目名称  Finish  

第一次使用时,可能需要下载archetype webapp的插件 有时候网络不好 可能需要很长时间 不过以后就好了

刚创建完之后,需要稍等一下,加载相应配置文件,之后如下图所示

此时的项目已经是Maven的 webapp项目了

这个时候IDE还有缓存,需要在右侧Maven project中 刷新一下,加载pom中的配置

(以后在pom中添加jar的依赖后,都要点击maven project的刷新按钮 刷下缓存)

这个时候Maven webapp项目就彻底创建好了  不需要再在project structure进行配置了

如下两图,都是默认给配置好的,不需要进行修改

3关于Maven Web项目的配置说明

Project Structure中Artifaces的配置

如上图所示,在Aritifaces中有两个war,一个是war 一个是war exploded,在配置服务器时需要选择war exploded

千万要注意,这两个war都不应该是自己添加的,而是根据maven中的配置自己生成的

之前没有这两个war的时候,我都是自己创建,往往后果就是项目在编译后缺少jar包,依赖的jar没有自动拷贝

其实Intellij中的mavan项目配置,都是依赖于pom中的配置,如果pom中的配置正确,就不需要修改项目的IDE配置

  1. 首先pom要有<packaging>war</packaging>,如果pom中配置了这个,Aritifaces就会有上面的两个war

  2. 其次pom要有<build>    <finalName>test</finalName>  </build> 这个关系到上图中的output directory中的配置,finalName作为target下的项目目录,以及会创建对应名字的war包(比如test.war)

配置src/main/java

如上图,src/main目录下缺少java目录,我们可以右键创建目录java,然后再modules中配置为sources目录

这样src/main/java图标就变成了蓝色,作为java源代码区了


谢谢@吴峻申,在Maven设置中,可以勾选这个选项,在修改pom时,自动添加依赖

(一直以为那个是自动导入maven project  )


最后鸣谢一下@寇德林 整理一份非常好的intellij的使用教程,http://www.oschina.net/question/7728_150494

喜欢的朋友可以学习一下


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/419390.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

iOS设计模式 - 迭代器

iOS设计模式 - 迭代器 原理图 说明 提供一种方法顺序访问一个聚合对象中的各种元素&#xff0c;而又不暴露该对象的内部表示。 源码 https://github.com/YouXianMing/iOS-Design-Patterns // // Node.h // IteratorPattern // // Created by YouXianMing on 15/10/26. // …

Android程序杀死自己的进程和其他程序进程方法

1.获取程序进程ID&#xff1b; int pidandroid.os.Process.myPid(); android.os.Process..killProcess(pid); 2.杀死其他程序进程&#xff1b; ActivityManager manager(ActivityManager)getSystemService(ACTIVITY_SERVICE); manager.killBackgroundProcesses("packa…

maven依赖关系中Scope的作用

Dependency Scope 在POM 4中&#xff0c;<dependency>中还引入了<scope>&#xff0c;它主要管理依赖的部署。目前<scope>可以使用5个值&#xff1a; * compile&#xff0c;缺省值&#xff0c;适用于所有阶段&#xff0c;会随着项目一起发布。 * provided&…

如何运行ruby代码

第一种&#xff0c;ruby -e 在命令行中运行下面命令&#xff0c;-e的意思是&#xff0c;把后面的字符串当作脚本执行 ruby -e "print hello" 使用irb交互控制台 在命令行输入irb hello worldxingooxingoo-Lenovo:~/workspace/RubyTest$ irb irb(main):001:0> p &q…

使用ViewPager制作Android引导界面

1.涉及Android知识点&#xff1a; ViewPager组件、Handler机制、SharedPreferences。 2.开发实践&#xff1a; a.布局文件设计。 第一个引导界面one.xml&#xff0c;另外两个布局文件类似。 <?xml version"1.0" encoding"utf-8"?> <LinearLay…

6、控件样式模板和使用

WPF控件模板 潜移默化学会WPF(样式篇)---改造CheckBox&#xff0c;全新metro风格 WPF CheckBox 自定义样式 继续聊WPF控件——自定义CheckBox控件外观 用WPF自定义CheckBox的样式 [wpf教程-自定义样式的checkbox开关控件 http://www_suchso.com/projecteactual/wpf-jiaocheng-c…

Android 蓝牙4.0在实际开发中的运用

1.蓝牙搜索. 首先是获取BluetoothAdapter对象&#xff1a; final BluetoothManager bluetoothManager (BluetoothManager) getSystemService(Context.BLUETOOTH_SERVICE); BluetoothAdapter bluetoothAdapter bluetoothManager.getAdapter(); 当blueto…

Mysql递归查询,无限级上下级菜单

mysql递归查询&#xff0c;mysql中从子类ID查询所有父类&#xff08;做无限分类经常用到&#xff09; 由于mysql 不支持类似 oracle with ...connect的 递归查询语法 之前一直以为类似的查询要么用存储过程要么只能用程序写递归查询. 现在发现原来一条sql语句也是可以搞定的 先…

“睡服”面试官系列第二篇之promise(建议收藏学习)

目录 1promise的定义 2基本用法 3. Promise.prototype.then() 4. Promise.prototype.catch() 5. Promise.all() 6. Promise.race() 7. Promise.resolve() 8. Promise.reject() 9. 两个有用的附加方法 10总结 1promise的定义 Promise 是异步编程的一种解决方案&#xf…

Android M 新的运行时权限开发者需要知道的一切

android M 的名字官方刚发布不久&#xff0c;最终正式版即将来临&#xff01; android在不断发展&#xff0c;最近的更新 M 非常不同&#xff0c;一些主要的变化例如运行时权限将有颠覆性影响。惊讶的是android社区鲜有谈论这事儿&#xff0c;尽管这事很重要或许在不远的将来会…

查看IIS连接数

如果要想知道确切的当前网站IIS连接数的话&#xff0c;最有效的方法是通过windows自带的系统监视器来查看。 一、运行-->输入“perfmon.msc”. 二、在“系统监视器”图表区域里点击右键&#xff0c;然后点“添加计数器”. 三、在“添加计数器”窗口&#xff0c;“性能对象”…

SpringMVC关于json、xml自动转换的原理研究[附带源码分析]

目录 前言现象源码分析实例讲解关于配置总结参考资料 前言 SpringMVC是目前主流的Web MVC框架之一。 如果有同学对它不熟悉&#xff0c;那么请参考它的入门blog&#xff1a;http://www.cnblogs.com/fangjian0423/p/springMVC-introduction.html 现象 本文使用的demo基于maven…

“睡服”面试官系列第三篇之变量的结构赋值(建议收藏学习)

目录 变量的解构赋值 1. 数组的解构赋值 2. 对象的解构赋值 3. 字符串的解构赋值 4. 数值和布尔值的解构赋值 5. 函数参数的解构赋值 6. 圆括号问题 7. 用途 变量的解构赋值 1. 数组的解构赋值 基本用法 ES6 允许按照一定模式&#xff0c;从数组和对象中提取值&#…

【宋红康程序思想学习日记3】杨辉三角

class Shuzu3 { public static void main(String[] args) {    int[][] yanghuinew int[10][];   //初始化二维数组   for(int i0;i<yanghui.length;i){     yanghui[i]new int[i1]; }   for(int i0;i<yanghui.length;i){     for(int j0;j<yanghui…

Android为网络请求自定义加载动画

android自带的加载动画都不怎么好看&#xff0c;在这里介绍一种自定义加载动画的方法 原始图片&#xff1a; 编写动画progressbar.xml, <?xml version"1.0" encoding"utf-8"?> <animated-rotate android:drawable"drawable/publicloading&…

mybatis在xml文件中处理大于号小于号的方法

第一种方法&#xff1a; 用了转义字符把>和<替换掉&#xff0c;然后就没有问题了。 SELECT * FROM test WHERE 1 1 AND start_date < CURRENT_DATE AND end_date > CURRENT_DATE 附&#xff1a;XML转义字符 < …

Android之Notification初识

1.Notification创建 首先&#xff0c;介绍一下&#xff0c;创建一个通知所需要用到的类和方法NotificationManager类 NotificationManager类是用来管理系统的所有通知的类&#xff0c;该类的对象必须通过Context类的getSystemService()方法获取。完整代码&#xff1a; Notifica…