5.1、创建一个javaWeb项目
  1. 选择使用摸版:勾选Create from archetype选项

  2. 选择相应的模板:选择org.apache.maven.archetypes:maven-archetype-webapp

  3. 创建目录GAV

    • GroupId:组id
    • ArtifactId:项目名
    • 版本
  4. maven选项:

    • maven目录
    • 用户设置文件地址
    • 本地仓库

    注:Bundled(Maven 3)是IDEA自带的Maven

  5. 目录结构

    -javaWebLearning
    -.idea
    -src
    -main
    -webapp
    -WEB-INF
    -web.xml javaWeb项目的配置文件
    -index.jsp 主页
    -pom.xml

注意:通过该方法生成的Maven项目是不完整的(见下)

建议:

  1. 不要使用IDEA自带的maven
  2. 建议直接使用的maven的conf目录下的setting.xml配置文件
5.2、创建一个普通的Maven项目
  1. 目录结构

    -testLearning
    -.idea 表示该项目被idea接管
    -src
    -main
    -java 项目源码目录
    -resources 配置文件
    -test
    -java 测试源码目录
    -pom.xml 配置文件

    注:体现了Maven的约定大于配置的核心思想

  2. pom.xml文件

    <?xml version="1.0" encoding="UTF-8"?>
    <project xmlns="http://maven.apache.org/POM/4.0.0"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion> <groupId>org.example</groupId>
    <artifactId>testLearning</artifactId>
    <version>1.0-SNAPSHOT</version> </project>
5.3、将5.1创建的javaWeb项目更改成一个普通的web项目

对比上下两个文件夹可知,5.2的文件夹需要追加java(项目源码)目录和test-java(测试源码)目录

  1. 创建相关的目录

  2. 将目录进行标记

    对比真正的maven项目我们还可以发现,java的源码目录应该是蓝色的,而目前创建的目录是灰色的且无法新建类.为此,我们还需要对它进行标记

    • 右键点击文件夹

    • 选择Mark Directory AS

    • 有多个选项

      Sources Root:源码目录(蓝色)
      Test sources Root:测试文件目录(绿色)
      Resources Root:资源目录
      Test Resources Root:测试资源目录
    • 或者: File -> Project Structure -> Modules -> 根据项目目录结构点击Mark As对应的选项进行修改

5.4、配置Tomcat
  1. 点击右上角的Add Configuration,选择Templates下的Tomcat server,Local.由于如果你没有默认的Tomcat配置,点击create configuration

    • Name可以随意填写
    • Application server选择下载的Tomcat位置
    • JRE选择相应的版本
    • HTTP port:tomcat启动的端口号配置,根据实际需要修改(避免被占用)
  2. Deployment(注意到我们还需有问题需要修复)

    原因:我们访问网站,需要指定一个文件夹名字

    • 选择Deployment选项
    • 点击+号,选择添加artifacts,选择war做结尾的选项(发布模式,先打成war包再发布)
    • Application context是访问路径,可以写也可以不写.比如写了/guan,那么应该访问localhost:8082/guan,这个过程叫做虚拟路径映射
5.5、Maven侧边栏的使用
Lifecycle  Maven命令行
clean 清理target
compile 编译
test 测试
package 打包
install 安装
plugins 插件
Dependencies 项目依赖
5.6 pom文件

功能:Maven项目的核心配置文件

<?xml version="1.0" encoding="UTF-8"?>

<!--Maven版本和头文件-->
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion> <!-- 创建项目时配置的GAV-->
<groupId>org.example</groupId>
<artifactId>JavawebLearning</artifactId>
<version>1.0-SNAPSHOT</version>
<!--package:项目的打包方式
java:java应用
war:javaweb应用
-->
<packaging>war</packaging> <name>JavawebLearning Maven Webapp</name>
<!-- FIXME change it to the project's website -->
<url>http://www.example.com</url> <!-- 配置-->
<properties>
<!-- 项目构建的默认编码-->
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<maven.compiler.source>1.7</maven.compiler.source>
<maven.compiler.target>1.7</maven.compiler.target>
</properties> <!-- 项目依赖-->
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.11</version>
<scope>test</scope>
</dependency>
</dependencies> <!-- 项目构建用的东西-->
<build>
<finalName>JavawebLearning</finalName>
<pluginManagement><!-- lock down plugins versions to avoid using Maven defaults (may be moved to parent pom) -->
<plugins>
<plugin>
<artifactId>maven-clean-plugin</artifactId>
<version>3.1.0</version>
</plugin>
<!-- see http://maven.apache.org/ref/current/maven-core/default-bindings.html#Plugin_bindings_for_war_packaging -->
<plugin>
<artifactId>maven-resources-plugin</artifactId>
<version>3.0.2</version>
</plugin>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.0</version>
</plugin>
<plugin>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.22.1</version>
</plugin>
<plugin>
<artifactId>maven-war-plugin</artifactId>
<version>3.2.2</version>
</plugin>
<plugin>
<artifactId>maven-install-plugin</artifactId>
<version>2.5.2</version>
</plugin>
<plugin>
<artifactId>maven-deploy-plugin</artifactId>
<version>2.8.2</version>
</plugin>
</plugins>
</pluginManagement>
</build>
</project>

注:Maven的高级之处在于,他会帮你导入这个JAR包所依赖的其它jar包

5.7、将一个普通的maven项目转换为appweb项目

注:由于普通的maven项目和由maven的appweb模板创建的maven项目的区别,不推荐使用模板,推荐将一个普通的maven项目转换成web项目

5.8、资源导出问题

需要对pom.xml进行配置:在build中配置resources,来放置我们资源导出失败的问题(比如在java文件夹下的xml文件)

<build>
<resources>
<resource>
<directory>src/main/resources</directory>
<excludes>
<exclude>**/*.properties</exclude>
<exclude>**/*.xml</exclude>
</excludes>
<filtering>false</filtering>
</resource>
<resource>
<directory>src/main/java</directory>
<includes>
<include>**/*.properties</include>
<include>**/*.xml</include>
</includes>
<filtering>false</filtering>
</resource>
</resources>
</build>
5.9 、Maven操作

查看目录树:点击idea中maven的右上角按钮

JavaWeb——Maven使用的更多相关文章

  1. idea导入ssm javaweb maven项目

    本文笔者辛苦整理, 除了为方便大家贴的maven安装配置和方便的现有项目, 如转载请注明: https://www.cnblogs.com/m-yb/p/11229320.html idea导入ssm ...

  2. 如何在华为云软件开发云上搭建JavaWeb,Maven项目

    本文将使用华为云软件开发云向大家演示如何搭建JavaWeb,Maven项目. 一.相关信息 1.华为云软件开发云简介 华为云软件开发云(DevCloud)是集华为近30年研发实践,前沿研发理念,先进研 ...

  3. javaWeb Maven Runner设置中文乱码

    将Runner设置为 -DarchetypeCatal! 使maven在没有网络的情况下在本地查找下载好的插件 配置 -Dfile.encoding=gb2312 防止中文乱码

  4. maven 入门

    Apache Maven 入门篇 ( 上 ) 作者:George Ma 写这个 maven 的入门篇是因为之前在一个开发者会的动手实验中发现挺多人对于 maven 不是那么了解,所以就有了这个想法.这 ...

  5. 用maven来创建web工程

    大约已经一个月没有写博客了,一个是最近太忙,另外啊还是人慢慢的变懒,最近在拆pool,用到了maven,因此呢把自己的一些心得记下来了,供大家参考,欢迎指正. 1.配置maven环境: 首先下载mav ...

  6. 从零开始学JavaWeb

    引言   记得上学时,有位导师说过一句很经典的话:"编程语言只是工具,最重要的是掌握思想." 笔者一直主要从事.net领域的开发工作.随着工作阅历的丰富,越来越深刻的理解当年导师说 ...

  7. 使用IDEA2017创建java web +maven项目

    1.首先,提前准备的东西:我使用的是IDEA2017,tomcat7,jdk1.:请将这些软件安装完成,环境变量配置完成,如何配置以及安装我就不复述了,百度上一堆一堆的,比我知道的详细多了. 2.下面 ...

  8. 小白教程 Java web maven项目Windows下部署阿里云服务器全过程(买服务器,打包项目,连接服务器,配置服务器,部署项目)

    -------------首先:购买服务器---------------- Step1: 在https://www.aliyun.com/?utm_content=se_1043015注册登录阿里云 ...

  9. B2B商城网站前端开发

    最近在时间很忙,在弄一个B2B商城,运用到的easyUI+javaWEB(maven)+JQuery+Scss+JavaScript+其他框架(sea.js模块化等),我负责前端这块:后期的重要的前端 ...

随机推荐

  1. 对常用I/O模型进行比较说明

    一.IO模型的四个特性 关注的是消息通信机制,即调用者在等待一件事情的处理结果时,被调用者是否提供完成状态的通知. 同步:synchronous,被调用者并不提供事件的处理结果相关的通知消息,需要调用 ...

  2. charles模拟弱网

      Charles操作:延迟设置 >选择相应的网络延迟设置或者自定义延迟 >开启延迟即可,如图:      

  3. node(s) didn‘t match node selector.

    k8s集群中,有pod出现了 Pending ,通过 kubectl describe pod 命令,发现了如下报错 0/4 nodes are available: 1 node(s) had ta ...

  4. Hyperledger Fabric 2.x Java区块链应用

    一.说明 在上一篇文章中 <Hyperledger Fabric 2.x 自定义智能合约> 分享了智能合约的安装并使用 cli 客户端进行合约的调用:本文将使用 Java 代码基于 fab ...

  5. 【一天一个小知识10/20】Unity通过www获取json文本信息。

    前提:领导要我在unity获取局域网服务器的文本信息.给了一个json的网络文本让我测试.我对于json以及服务器比较陌生.就直接去网上找相关的资料. 以下是自己测试的代码,没问题. 测试的网络jso ...

  6. angular访问后台服务及监控会话超时的封装实现

    以前一直没有想过写一些东西来把项目中用到的知识点及技术实现做一个归纳整理并分享出来.现在打算逐渐的把项目中的一些东西整理并分享出来,与大家共勉! angular本身自带访问组件http和httpcli ...

  7. 2. 堪比JMeter的.Net压测工具 - Crank 进阶篇 - 认识yml

    目录 堪比JMeter的.Net压测工具 - Crank 入门篇 堪比JMeter的.Net压测工具 - Crank 进阶篇 - 认识yml 堪比JMeter的.Net压测工具 - Crank 进阶篇 ...

  8. Rainbond 5.6 版本发布,增加多种安装方式,优化拓扑图操作体验

    Rainbond 5.6 版本,主要致力于提升拓扑图操作效率以及快速安装体验,降低用户使用门槛. 主要功能点解读: 支持单机快速体验 为了方便在单机电脑上快速安装体验Rainbond,当前版本支持通过 ...

  9. 华为eNSP环境,WLAN简介与组网,AP+AC详细配置

    WLAN简单组网一.概述    无线局域网(Wireless Local Area Networks: WLAN)利用无线技术在空中传输数据.话音和视频信号.作为传统布线网络的一种替代方案或延伸,无线 ...

  10. 快来用这款BI分析工具,摆脱数据分析的困扰

    ​互联网.物联网时代,数据激增是正常现象,但这给公司信息部门和数据分析师带来了巨大的工作量.根据以前的分析方法,有必要详细而深入地完成分析报告,即使借助数据分析工具,也要花费大量的时间和人力,更不用说 ...