如何在IntelJ下用Maven创建一个Web项目
相信一开始做Web项目的同学都是直接把项目包放在WEB-INF/lib目录下,然后就开始做项目了。但是之后接触了一些使用了Maven进行包管理的项目,我们就不得不学一学如何用Maven做包管理。
在网上看了很多的文章,发现都不是很全面,因此就把自己摸索的过程记录下来,希望对大家有帮助。本文主要记录如何从无包管理的项目开发模式转到使用Maven进行项目包管理。
做编程的,对于新的知识,先运行起来再说,而不是去深究其原理。我们这里用Maven搭建一个简单的Web项目,让其可以运行起来。这可以让我们对Maven有一个感性的认识。
在开始之前你需要以下东西(任意版本都可以):
- IntelliJ IDEA 12.1.4
- JDK 1.6.0_51
- Maven 3.0.4
- Tomcat 6
1、创建Maven项目
如果是第一次打开软件直接点击 Create New Project ,如果之前已经打开过项目了,需要点击菜单中 File → New Project … 如下图:
点击Next,输入 GroupId、ArtifactId:
点击Next输入项目名,如下:
点击 Finish完成。
2、创建项目Source目录并设置为Source Folder(4个)
Maven规定,必须创建以下几个Source Folder:
- src/main/resources
- src/main/java
- src/test/resources
- src/test/java
有些IDE在你创建完工程(Project)之后会自动帮你创建上面的文件夹,如果没有创建,那我们就需要手动创建了。
创建完之后需要设置其为项目的Source Folder(源文件夹),点击项目右键选择“Open Module Setting”打开如下视图:
完成后文件夹结构以及状态如下图所示:
3、修改输出目录(4个)
在项目名称上右键,打开“Open Module Setting”视图:
- Output path定义了源文件的代码文件和资源文件的输出目录。
- Test output path 定义了测试源文件的代码文件和测试资源文件的输出目录。
4个源文件夹对应的输出目录分别对应:
- src/main/resources 对应 chanshuyi_demo(项目名)/target/classes
- src/main/java 对应 chanshuyi_demo(项目名)/target/classes
- src/test/resources 对应 chanshuyi_demo(项目名)/target/test-classes
- src/test/java 对应 chanshuyi_demo(项目名)/target/test-classes
一般情况下这个都是默认设定好了的,我们无需手动设置。如果没有设置就需要手动设置一下。
4、设定类库(依赖)
还是在项目名称上右键,打开“Open Module Setting”视图,定位到Dependencies选项:
如果看到上面的依赖有错误,那就重新导入依赖。一般情况下默认的设置都是正确的。
5、增加Web项目的Facets
其实这一步是将src/main/webapp目录设定为Web项目的内容目录,也是类似于设定源文件夹的意思。
打开"Open Module Setting“菜单,点击”Facets“菜单,点击+号。
在弹出的窗口选择chanshuyi_demo模块,修改下图中箭头所指的3个位置为正确的路径:
6、创建Artifacts
创建Artifacts其实就是把项目打包部署起来,以供后面Tomcat调用。在"Open Module Setting“中选择”Artifacts“菜单,如下图所示:
在弹出的窗口中选择chanshuyi_demo,在之后弹出的菜单中无需修改,直接保存。
7、部署项目到Tomat中
点击”Run“ -> ”Edit Configurations“打开配置,按下图所示创建一个本地的Tomcat服务器:
之后在Server标签中配置下Tomcat所在目录,Tomcat的端口等属性,如下图:
之后点击Deployment标签,增加要部署的Arfifacts,并选择chanshuyi_demo:
到这里一个项目的创建和部署就已经完成了。
接下来启动Tomcat,测试一下是否真的部署成功了。点击启动项目,
启动完之后会自动打开首页,如果看到如下画面那就是部署成功了。
但因为每个人的情况不一样,你可能会遇到其他的错误。如果你遇到:Errot Listenstart错误的话,那么就是web.xml文件的配置出了错,你可以将以下代码替换到web.xml中:
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5"
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
</web-app>
这样就应该可以成功了。如果不行,那再根据提示进行修改。
好了,最后复习一下步骤:
1、创建Maven项目
2、创建项目Source目录并设置为Source Folder(4个)
3、修改输出目录(4个)
4、设定类库(依赖)
5、增加Web项目的Facets
6、创建Artifacts
7、部署项目到Tomat中
如何在IntelJ下用Maven创建一个Web项目的更多相关文章
- 在eclipse中,用maven创建一个web项目工程
1.在eclipse中用maven创建项目,右键new>>Maven Project 2.点击next继续 3.点击next继续,选择maven-archetype-webapp, 4.点 ...
- [转]在eclipse中,用maven创建一个web项目工程
1.在eclipse中用maven创建项目,右键new>>Maven Project 2.点击next继续 3.点击next继续,选择maven-archetype-webapp, 4.点 ...
- maven安装配置及使用maven创建一个web项目
今天开始学习使用maven,现在把学习过程中的资料整理在这边. 第一部分.maven安装和配置. http://jingyan.baidu.com/article/295430f136e8e00c7e ...
- 新版本IntelliJ IDEA 构建maven,并用Maven创建一个web项目
之前都没试过用maven来管理过项目,但是手动找包导包确实不方便,于是今天用2016版的IDEA进行了maven的初尝试. 打开IDEA,创建新项目: 然后选择Maven,以及选择自己电脑的jdk: ...
- 用maven创建一个web项目
下面所使用的Eclipse开发工具为Eclipse Java EE IDE 版本. 1.创建一个maven项目,如图所示: 选择“maven-archetype-webapp”,如图所示: 后面几步按 ...
- Maven创建一个Web项目
我们可以通过命令行或者直接使用Eclipse创建一个maven webapp项目:通过命令行创建在命令行中输入如下格式的命令将会创建一个新的maven webapp项目:mvn archetype:g ...
- Idea使用Maven创建Java Web项目
最近学到了Java Web项目,使用Idea和Maven创建Java Web的时候遇到了诸多问题,最多的还是404问题.现在记录一下解决方案. 一.使用maven创建一个web项目,这一步网上都有,下 ...
- 【Maven】Eclipse 使用Maven创建SpringMVC Web项目
创建环境 系统:win 10 软件:eclipse,maven. 创建步骤 创建一个Maven Web项目,可以参照:[Maven]Eclipse 使用Maven创建Java Web项目 添加spri ...
- 【Maven】 Eclipse使用Maven创建Java Web 项目(一)
需求:创建一个Servlet版本3.0,Java版本是1.7的Maven Web项目 创建环境: 系统:window 7 软件:Eclipse.Maven 创建步骤: 1.使用eclipse工具创建m ...
随机推荐
- 各种ORM框架对比(理论篇,欢迎来观摩)
各种ORM框架对比 目前框架有以下 PetaPoco Dapper.NET Massive Simple.Data Chain PetaPoco 轻量级,以前单文件,目前有维护形成项目级别,适合多个数 ...
- android学习8——获取view在屏幕上的绝对坐标
获取view在屏幕上的绝对坐标在调试时候非常有用. 看如下代码 public class AbsolutePosActivity extends Activity { @Override public ...
- JavaScript 基本类型值-Number类型
▓▓▓▓▓▓ 大致介绍 在JavaScript的内部采用IEEE754格式来表示数字,所以不区分整数和浮点数,都是用64位浮点数的形式储存.就是说,在JavaScript内部,就根本没有小数.但是有些 ...
- PHP结合memcacheq消息队列解决并发问题
在处理业务逻辑时有可能遇到高并发问题,例如商城秒杀.微博评论等.如果不做任何措施可能在高瞬间造成服务器瘫痪,如何解决这个问题呢?队列是个不错的选择.队列(Queue)又称先进先出(First In F ...
- 卷积神经网络(CNN)前向传播算法
在卷积神经网络(CNN)模型结构中,我们对CNN的模型结构做了总结,这里我们就在CNN的模型基础上,看看CNN的前向传播算法是什么样子的.重点会和传统的DNN比较讨论. 1. 回顾CNN的结构 在上一 ...
- Android开发,Eclipse创建aidl接口时,出错
Android开发中,当我们需要调用远程Service时,我们一般通过远程接口(RMI)来实现的,而Android的RMI需要AIDL(Android Interface Definition Lan ...
- 去掉Dedecms幻灯片的标题文字和绿色背景
在操作dedecms站群中的站,因为看到首页的幻灯片Flash显示标题和文字,显得有点突兀,觉得应该去除dedecms 幻灯片默认的文字标题和背景,这样会感觉舒服些,下面教大家如何在模板当中去除ded ...
- linux 压缩zip包
压缩: zip -r 名称.zip 被压缩文件 解压: unzip 名称.zip
- JNI只C性能测试
深入学习JNI之前,介绍一个比较好的学习文档:jni详细教程.我这里只是一个Demo测试性能,至于入门教程请看我前一篇博文. Demo展示 这个Demo用于从小到大的冒泡排序,App.java代码: ...
- 中文分词工具thulac4j正式发布
1. 介绍 thulac4j是THULAC的Java 8实现,相比于官方Java实现THULAC-Java,我们做了如下工作: 规范化分词词典,并去掉一些无用词: 重写DAT(双数组Trie树)的构造 ...