Intellij中使用maven管理javaweb教程

IntelliJ IDEA 使用maven部署javaweb项目 最近在自学java。记录一点自己的笔记,以供以后回顾。IDEA使用Maven部署javaWeb项目的流程。使用工具:IntelliJ IDEA 2017.2.5 x64;Tomcat 8.5.31;JDK 1.8;一、新建JavaWeb项目:        填写GroupId(一般为公司域名反写),ArtifactId(模块名称),然后点击Next。设置项目名和项目路径,点击Finish。二、添加... 阅读详情

Intelli IDEA是目前比较流行的开发环境,可以配置Maven进行项目管理,非常便捷,受到很多开发者的青睐。除了Intellij IDEA外,JetBrains推出了一系列的开发IDE,如PyCharm用于python开发,也是墙裂推荐。

0 预备工作

  • Java环境配置

  • Intellij IDEA安装,旗舰版(Ultimate)

  • Tomcat Server下载与解压(本文使用Tomcat 8)

环境配置


Paste_Image.png

1 创建:基于Maven管理的Java Web工程

创建Java Web工程方式有不止一种方法,这里记录下通过Java的Web Applicaiton方式和Maven工程方式创建。推荐Java Web Application方式。

注意:Intellij的Community版是没有Tomcat等J2EE的工具的,需要下载Ultimate版本。

1.1 Java 的 Web Applicaiton方式(不推荐)

新建工程


Paste_Image.png

完成工程创建。但有一个问题,工程没有maven管理,是一个Intellij工程,需要增加Maven管理。
项目右击:


Paste_Image.png

Paste_Image.png

参考:http://bbs.youkuaiyun.com/topics/390764673

完成Maven的添加。

1.2 Maven方式(推荐)


Paste_Image.png

Paste_Image.png
录入GroupID和ArtifactID,这里说明下这两个的作用:

GroupID是项目组织唯一的标识符,即[组名],实际对应JAVA的包的结构,是main目录里java的目录结构。ArtifactID就是项目的唯一的标识符,即本工程的[工程名称],实际对应项目的名称,就是项目根目录的名称。


Paste_Image.png
一个特殊处理,加快工程创建进度

特殊处理.png

特殊处理.png

特殊处理部分参考:

archetypeCatalog表示插件使用的archetype元数据,不加这个参数时默认为remote,local,即中央仓库archetype元数据,由于中央仓库的archetype太多了,所以导致很慢,指定internal来表示仅使用内部元数据。

填入工程名称

Paste_Image.png

Finish之后,完成工程创建。

第一次建立Java Web工程时,需要下载一些依赖,因为使用了archetype。

完成后的工程目录:


Paste_Image.png

此时,仅仅完成了第一步,后面需要一系列的配置。

2 配置相关参数

主要进行项目的目录配置、依赖添加、web配置等。

项目上右击:


Paste_Image.png

2.1 添加java代码目录:


Paste_Image.png

Paste_Image.png

2.2 pom.xml里添加相关依赖

添加依赖,由于使用maven管理项目,因此在pom.xml里进行依赖管理。添加的基本依赖主要包括了jstl、servlet-api以及诸如数据库、测试框架、json包以及其他第三方框架等等。如果用刀spring framework,也在pom.xml里添加,这个就稍复杂些,后续再作介绍

    <dependencies>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>3.8.1</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>jstl</artifactId>
            <version>1.2</version>
        </dependency>
        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>javax.servlet-api</artifactId>
            <version>4.0.0-b01</version>
        </dependency>
        <!-- https://mvnrepository.com/artifact/mysql/mysql-connector-java -->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>6.0.4</version>
        </dependency>
    </dependencies>

所需依赖可以在https://mvnrepository.com/进行查询依赖编写方式。输入包的名称、框架名称即可查询。

2.3 web配置: web.xml

web.xml需要自己进行配置,否则是个空白的,没有任何价值的:


Paste_Image.png
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"         xmlns="http://xmlns.jcp.org/xml/ns/javaee"         xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee         http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"         id="WebApp_ID" version="3.1">
    <display-name>JavaWebDemoPro</display-name>
    <welcome-file-list>
        <welcome-file>index.html</welcome-file>
        <welcome-file>index.htm</welcome-file>
        <welcome-file>index.jsp</welcome-file>
        <welcome-file>default.html</welcome-file>
        <welcome-file>default.htm</welcome-file>
        <welcome-file>default.jsp</welcome-file>
    </welcome-file-list>
</web-app>

3 配置Tomcat并部署

主要进行工程到Tomcat的部署过程,包括启动配置。

tip:社区版的尴尬:没有相关工具

Intellij的Community版是没有Tomcat等J2EE的工具的,需要下载Ultimate版本。


Paste_Image.png

Paste_Image.png

Paste_Image.png


好久没用,一打开,果然没有了。

参考
http://qizixuan.blog.51cto.com/5648927/1851334 , 进行配置了下。

3.1 tomcat参数配置:

通过intellij顶部菜单,run -> edit configurations


Paste_Image.png

刚刚新建项目,没有任何启动配置,需要新增:


Paste_Image.png

没找到Tomcat Server,就选择更多:


Paste_Image.png


新建一个Tomcat Server 本地Local的,如果有远程的,也是可以配置的,这里先不介绍远程配置。

配置本地Tomcat:

Intellij需要配置一个自己下载的tomcat,到tomcat官方网站下载即可:

Tomcat官网:http://tomcat.apache.org/

通过configure...进行选择本地tomcat位置:


Paste_Image.png

配置发布的artifact:(很重要)


Paste_Image.png

选择exploded:

war包直接部署,war exploded是展开后部署,区别就是,展开后部署,可以更快的同步资源,及时更新,实现调试时资源及时更新重新加载。

最终部署项目时,一般部署第一个war包。


Paste_Image.png
填写发布的路径

Paste_Image.png

这里需要注意,修改这两个地方,用于发布时同步到本地server下面:


Paste_Image.png

4 运行


Paste_Image.png

可以看到,server启动,log开始输出啦:


Paste_Image.png

浏览器会自动打开默认页面:


Paste_Image.png

5 大功告成!

到此为止,已经完成了最基本的Java Web工程的建立。俗话说万事开头难,虽然工程里面啥都没有,仅仅是一个简简单单的架子,但Java Web的Hello World已经搞定了~

6 进阶阶段:Spring Framework配置

使用maven进行项目管理后,很多东西,仅仅是pom.xml的一个依赖添加动作。Spring Framework也是如此。

6.1 添加Spring Framework

pom.xml内添加依赖:

    <!-- Spring Framework-->
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-web</artifactId>
      <version>${spring.version}</version>
    </dependency>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-core</artifactId>
      <version>${spring.version}</version>
    </dependency>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-context</artifactId>
      <version>${spring.version}</version>
    </dependency>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-beans</artifactId>
      <version>${spring.version}</version>
    </dependency>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-jdbc</artifactId>
      <version>${spring.version}</version>
    </dependency>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-webmvc</artifactId>
      <version>${spring.version}</version>
    </dependency>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-tx</artifactId>
      <version>${spring.version}</version>
    </dependency>

转载地址:http://www.jianshu.com/p/5a2a32af2b4a
IntelliJ IDEA创建基础JavaWeb工程实战教程 元素,你可以自定义Maven的行为:<mirrors><mirror></mirror> 阅读详情

相关推荐

Maven JavaWeb项目构建实战指南

在现代软件开发中,项目管理工具扮演着至关重要的角色,它帮助开发人员有效地组织和管理项目资源。Maven作为一种流行的项目管理工具,尤其在Java项目中占据了重要的地位。它的设计目标是简化构建过程,并提供一个统一的构建系统。Maven通过一个名为"Project Object Model" (POM) 的概念来实现这一目标,这个模型以XML格式定义了项目的结构和构建配置。

weixin_33240461的博客 861

用idea创建java项目,并添加maven管理

idea创建java项目,添加maven管理,并提交到svn

xyh的博客 2万+

Mac下基于IntelliJ IDEA+tomcat+maven,实现web数据前端数据的绑定

本项目是在Mac下,基于IntelliJ IDEA +tomcat+maven,实现web前端6种数据类型的绑定,包括基本数据类型、包装数据类型、数组类型、简单对象类型、复杂对象类型、List类型

Maven项目管理(一) IntelliJ Idea+Maven环境搭建与基于命令行的基本使用

MavenMAVEN是一个强大的构建工具,ItelliJ Idea 是个强大的IDE,帮他们联合起来使用,将会是多么美妙的事情。但是IDE中集成的Maven总使习惯使用命令行的我们头大,不想为了使用IDE重新学习如何使用怎么办,那么就通过配置环境兼容就好了。Maven的准备 安装之前通过terminal输入java -version,查看是否已经安装JAVA的JDK和JRE linux下apt-ge

llin-黎辰 1万+

调用IP核、移植/复制IP核以及解决IP核被锁住/红锁问题(基于vivado)

解决不同工程IP核之间复制调用以及IP核红锁问题,让开发更简单!

weixin_44502554的博客 1万+

Librepilot _64位window10环境下的搭建及一些坑的解决办法

  刚入IT行业的小菜鸟,在window上折腾了四天的librepilot地面控制站的搭建,想着这么辛苦不能白费了,看网上相关资料少得可怜,唯一一个详细教程还是在32位环境下,一大堆坑,所以把自己的经验写下来,供大家一起参考。 参考的原文是:https://www.cnblogs.com/jasonchan1202/p/7809937.html的博客,但是执行下来才发现这个博客对64位系统极其不...

weixin_41426339的博客 2726

使用idea创建一个Maven java Web项目

使用idea创建Maven java Web项目的步骤比eclipse要稍微凌乱一些,下面我们来逐步创建一个Maven java Web项目 1.新建项目 输入项目坐标 可以选择自己的maven,也可以用idea自带的maven 输入项目名和项目的存储位置,点击Finish 点击右下角的Import Changes 上述步骤完成后目录结构应该是这样的: 创建资源目录“resource...

英俊帅比林的博客 1万+

SAP UI5 和 Fiori 的一些小技巧合集 - 持续更新中

本文介绍笔者从事 SAP UI5 和 Fiori 开发多年以来,积累的一些经验和小技巧。会保持更新。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 911

IntelliJ IDEA 12创建Maven管理的Java Web项目(图解)

本文主要使用图解介绍了使用IntelliJIDEA 12创建Maven管理的Java Web项目的过程。 本文PDF文档下载地址:http://download.youkuaiyun.com/detail/zht666/5141235 1、新建项目,选择Maven Module,输入项目名称,点击Next继续。 注意这里的Module就是项目的意思,等同于MyEclipse中的Project。 接

海涛的博客 17万+

(27)FPGA实现AD7768接口(六)

AD7768/AD7768-4 为8通道和4通道24位同步采样模数转换器(ADC)。通过可选的功耗模式和数字滤波器选项可重新配置AD7768/AD7768-4以适应多种应用,如工业输入/输出模块、仪器仪表、音频测试、控制回路和状态监控。FPGA(Field Programmable Gate Array)是在PAL (可编程阵列逻辑)、GAL(通用阵列逻辑)等可编程器件的基础上进一步发展的产物。

m0_46498597的博客 996

【示波器专题】无源探头的常用附件

使用探头进行测试,我们不仅要知道探头的原理,还需要了解探头的常用附件及其使用方式,这样才能在尽可能在测试中提高效率且减少出错的概率

一点硬件 692

【Java程序设计】【C02285】基于(JavaWeb)SSM的课堂管理系统(含论文+开题+PPT)

身处网络时代,随着网络系统体系发展的不断成熟和完善,人们的生活也随之发生了很大的变化,人们在追求较高物质生活的同时,也在想着如何使自身的精神内涵得到提升,而读书就是人们获得精神享受非常重要的途径。为了满足人们随时随地只要有网络就可以看书的要求,课堂管理系统被开发研究了出来。本文主要描述了该课堂管理系统的具体开发过程,在SSM框架的基础上,采用vue技术和MYSQL数据库,使该课堂管理系统具有很好的稳定性和安全性。

mataodehtml的博客 330

全志V3S嵌入式驱动开发(编译器升级到7.5)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 看过我们文章的朋友都知道,前面为了做v3s的驱动,对linux kernel进行了两次升级。第一次升级时从4.10.y升级到4.14.y,另外一次升级是从4.14.y升级到5.2.y。这中间最主要的原因,就是为了驱动适配的需要,更新的内核可以对硬件驱动有更好的支持,架构也更合理。 如果说内核升级尚且可以理解,那为什么要对编译器升级呢?这里面,最重要的一点就是语言的升

嵌入式-老费,一个分享专业嵌入式知识的blog 1166

使用IntelliJ IDEA和Maven构建Java web项目并打包部署

  转载:https://www.cnblogs.com/fozero 爱编程爱分享,原创文章,转载请注明出处,谢谢! http://www.cnblogs.com/fozero/p/6120375.html   一、背景 现在越来越多的人使用IntelliJ IDEA工具进行Java的开发,以前也对IntelliJ IDEA有了解过,但是一直没有去使用。 IntelliJ IDEA比...

lovexiaoqiqi的博客 1918

软件测试高频面试题 2026 最新整理(功能 + 自动化)

本文系统整理了2026年软件测试面试高频题目及参考答案,涵盖功能测试、自动化测试及新兴热点领域。功能测试部分包含测试基础概念、用例设计方法、缺陷管理流程等10个必背题;自动化测试部分详细解析工具选择、元素定位、框架搭建等10个热门考点;新增章节聚焦AI测试、安全测试、性能指标等5个前沿话题。参考答案均采用结构化表述,包含定义、区别、适用场景等关键要素,并强调结合项目经验作答。文末提供2026版面试技巧,建议采用"结论-分点-总结"的回答逻辑,重点展现问题解决能力和技术前瞻性。

SmallBull的博客 1962

Android So加载机制分析----基于Android14源码

本文深入分析Android 14系统中SO(共享库)的两种加载机制:System.loadLibrary()和System.load()。前者通过ClassLoader查找标准路径加载,后者直接加载指定路径的SO文件。文档详细追踪了从Java层到动态链接器的完整加载链路,包括ClassLoader路径查找、JNI桥接、ART虚拟机处理以及底层linker的符号解析和重定位过程。同时还分析了Namespace隔离、JNI_OnLoad机制等核心内容,为开发者提供全面的SO加载技术解析和问题排查指南。

保持专注,保持热爱 349

Maven安装配置参考

Maven安装、配置、使用 http://www.lifeba.org/arch/maven_install_configuration.html

技术积累、分享成果 505

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

使用IntelliJ IDEA, Maven and the jetty plugin调试web应用程序

[url]http://www.cnblogs.com/zoujiaxue/archive/2010/07/25/1784585.html[/url] [b][color=blue]配置Maven:[/color][/b] File-->setting-->Maven--> 修改Maven Home Director, User setting file, Locale repostio...

pyzheng的专栏 129

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

【转载】20200929-Java Web资料-开发路线

JavaWeb学习路线 https://www.cnblogs.com/478424260jyx/p/10747338.html

一匹刚学打乒乓球的老马 157

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

在IDEA中使用Maven创建JavaWeb项目

在此,以示例形式详细介绍在IDEA中使用Maven创建JavaWeb项目的过程及其主要步骤。

谷哥的小弟 5164

23.Maven 项目介绍 - IntelliJ IDEA 使用教程

Maven 项目介绍 学习前提 相对于传统的项目,Maven 下管理和构建的项目真的非常好用和简单,所以这里也强调下,尽量使用此类工具进行项目构建。 学习本讲还有一个前提:你必须会 Maven 相关知识点,Maven 相关知识点是不在本专题的讲解范围里面的,所以请自己私下进行学习。如果愿意你也可以看我过去整理的一份材料:<a rel="nofollow" href="http:/

x380481791的专栏 2978

IntelliJ IDEA使用maven自定义和JBLJavaToWeb插件创建JavaWeb工程

注意:1.maven工具与idea结合的时候有可能会出现问题,但是非常建议最后的推荐方式(使用插件的形式),一般不会有问题,注意在第一次创建maven项目的时候一定要联网。 2.maven负责管理项目构建,主要负责引用依赖jar包,以前我们都是复制jar包再引用,以后不用复制jar包,只需要一小段文本描述就等以引用jar包。 3.Maven是对项目进行模型抽象,充分运用面向对象的思想构建项目。...

huangyh技术栈 6063

JavaWeb学习阶段一Maven(maven安装配置,IDEA使用maven,导入maven项目、Maven插件和依赖管理)

JavaWeb学习阶段一Maven(maven安装配置,IDEA使用maven,导入maven项目、Maven插件和依赖管理) Maven Maven是专门用于管理和构建Java项目的工具,它的主要功能有: 提供了一套标准化的项目结构 提供了一套标准化的构建流程(编译,测试,打包,发布……) 提供了一套依赖管理机制 标准化的项目结构: 项目结构我们都知道,每一个开发工具(IDE)都有自己不同的项目结构,它们互相之间不通用。我再eclipse中创建的目录,无法在idea中进行使用,这就造成了很

我要记录学习博客 1089
上一篇: MyEclipse+Maven+Tomcat搭建环境和项目配置
下一篇: javaee 学习书籍推荐
elementf
博客等级 码龄14年 30粉丝 9原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值