怎样使用Eclipse创建Maven的Java WEB 项目

文章目录
  • 1、第一种方式(选择 archetype 方式)
    • 1.1、第一步:创建项目
    • 1.2、第二步:配置jre
    • 1.3、第三步:配置tomcat
    • 1.4、第四步:设置为WEB3.1
    • 1.5、第五步:配置Maven的编译级别
      • 1.5.1、第一种方法:使用 Maven 插件单独为某个项目配置编译级别
      • 1.5.2、第二种方法:使用``节点单独为某个项目配置编译级别
      • 1.5.3、在settings.xml文件中全局设置
    • 1.6、第六步:修复Eclipse提示的错误
    • 1.7、第七步:设置Maven的源文件夹
  • 2、第二种方式(跳过archetype方式)
    • 2.1、第一步:创建项目
    • 2.2、第二步:创建web.xml
    • 2.3、第三步:配置Maven的编译级别
    • 2.4、第四步:配置tomcat
      • 2.4.1、使用Maven的tomcat插件方式
      • 2.4.2、配置外部下载好的tomcat
  • 3、介绍一下命令的方式创建Maven项目。
    • 3.1、创建普通的 java 项目
    • 3.2、创建一个简单的 Web 应用

这里是基于jdk1.8,maven3.6.3,eclipse(2017版、氧气版;也就是 eclipse-jee-oxygen-2-win32-x86_64 )的操作来示例。不同的版本可能会有一些差别,但整体上是不会有较大的变化。

1、第一种方式(选择 archetype 方式)

通过选择 archetype 来创建javaWeb项目

1.1、第一步:创建项目

在这里插入图片描述

1.2、第二步:配置jre

(可以忽略这一步的,为了防止其他乱七八糟的情况弄一下也好)。在这个eclipse版本下操作了这一步会自动的创建出 Maven 相关的源文件夹,所以操作一下这一步也没什么坏处。

在这里插入图片描述

1.3、第三步:配置tomcat

创建 javaWeb 项目在开发和调试的时候大多数是用 tomcat 来进行,在 Eclipse 中创建 Maven 项目并想使用 tomcat 进行开发调试,本人知道的有两种方式配置 tomcat;一种是外部下载好的tomcat,另外一种是使用Maven的tomcat插件。

这里介绍的是配置外部tomcat。配置外部的tomcat可以使用它内置的一些jar包依赖,比如说 servlet-api、jsp-api 等等其他的一些jar包,有了这些 jar 包依赖就不用在pom.xml文件里面去写依赖内容了,也就是有了这些个依赖不用在pom.xml文件里写相关的依赖内容就可以解决servlet相关的java类缺失而引起的一些编译或者运行的报错了,同时在项目开发完了之后使用maven命令打包项目时也能避免把 servlet-api、jsp-api 等 jar 一起打包了,这样就能避免打包后的项目和服务器上的 tomcat 有相同的 jar 包所引起的一些冲突问题。

在这里插入图片描述

1.4、第四步:设置为WEB3.1

  1. 把servlet修改成3.1。打开web.xml -----> 用下面的内容把项目中的web.xml给替换掉。在这里插入图片描述

    <?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>Archetype Created Web Application</display-name>
    </web-app>
    
  2. 修改.settings文件夹下的 org.eclipse.wst.common.project.facet.core.xml 文件在这里插入图片描述

1.5、第五步:配置Maven的编译级别

Maven编译级别指的是Maven项目构建(build)过程中,用于指定Java源代码编译版本的设置。在这里所使用的 Maven 版本是maven3.6.3,它默认的编译级别是1.5,需要将这个默认的级别更改为自己当前安装使用的 JDK 版本一样的级别。Maven 插件的版本可能会随着时间而更新,使用的时候应该确保自己安装和使用的 JDK 版本与 Maven 配置的编译级别相匹配。下面介绍几种配置Maven的编译级别的方法。

1.5.1、第一种方法:使用 Maven 插件单独为某个项目配置编译级别

在pom.xml文件的<build>节点里面的<plugins>...<plugins>子节点来配置一个叫maven-compiler-plugin的插件;这个插件就是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 https://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><groupId>com.xxx.demo</groupId><artifactId>maven_javaweb</artifactId><version>0.0.1-SNAPSHOT</version><packaging>war</packaging><name>xxx</name><url>http://maven.apache.org</url><description>xxx</description><dependencies>...<!-- 这里的内容是项目所需要的依赖,根据项目所需要的来编写 --></dependencies><build><plugins><plugin><!--  Maven 中用于编译 Java 源代码的插件 --><groupId>org.apache.maven.plugins</groupId><artifactId>maven-compiler-plugin</artifactId><version>3.5.1</version><!-- 这个节点也可以不写 --><configuration><source>1.8</source><target>1.8</target><encoding>UTF-8</encoding><!-- 这个节点也可以不写 --></configuration></plugin></plugins></build> </project>
1.5.2、第二种方法:使用<properties>节点单独为某个项目配置编译级别

在pom.xml文件的<properties>节点里面添加配置

<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 https://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><groupId>com.xxx</groupId><artifactId>artifact_xxx</artifactId><version>0.0.1-SNAPSHOT</version><packaging>war</packaging><name>xxx</name><url>http://maven.apache.org</url><description>xxx</description><properties><!-- 写上下面所示的这3个子节点,就能设置当前项目编译级别 --><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><maven.compiler.source>1.8</maven.compiler.source><maven.compiler.target>1.8</maven.compiler.target></properties><dependencies>...<!-- 这里的内容是项目所需要的依赖,根据项目所需要的来编写 --></dependencies><build>...<!-- 没有内容这个节点可以不用写 --></build> 
</project>
1.5.3、在settings.xml文件中全局设置

在Maven的settings.xml文件中添加上一段代码,如下所示

<!-- 首先我们要在settings.xml文件中找到<profiles>标签,然后在此标签内部粘贴如下配置:--><profile><id>jdk-1.8</id><activation><jdk>1.8</jdk></activation><properties><maven.compiler.source>1.8</maven.compiler.source><maven.compiler.target>1.8</maven.compiler.target><maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion></properties>
</profile>

对Maven的编译级别设置好了以后,设置一下eclipse对这个项目的编译级别。在这里插入图片描述

1.6、第六步:修复Eclipse提示的错误

在这里插入图片描述

1.7、第七步:设置Maven的源文件夹

这样创建的maven项目,目录可能是不全的。需要设置一下。

在这里插入图片描述

2、第二种方式(跳过archetype方式)

2.1、第一步:创建项目

在这里插入图片描述

2.2、第二步:创建web.xml

接下来创建需要创建web.xml文件。

在这里插入图片描述

<?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>Archetype Created Web Application</display-name>
</web-app>

2.3、第三步:配置Maven的编译级别

接下来配置Maven的编译级别。

关于配置Maven的编译级别更详细的内容在1.5章节有介绍。点击查看

在这里插入图片描述

2.4、第四步:配置tomcat

要想将项目运行跑起来的话,需要用到tomcat,这个tomcat可以是自己下载好的也可以是Maven的tomcat插件

如果是自己下载好的需要配置一下Library,如果是用Maven的tomcat插件需要添加一下servlet的依赖,不然在代码里用Servlet相关的java类将会找不到,就会报错。

2.4.1、使用Maven的tomcat插件方式

在pom.xml文件中添加如下的代码

<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 https://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><groupId>com.xxx.demo</groupId><artifactId>maven_javaweb</artifactId><version>0.0.1-SNAPSHOT</version><packaging>war</packaging><name>xxx</name><url>http://maven.apache.org</url><description>xxx</description><!-- 这一段是配置Maven编译级别用的 --><properties><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><maven.compiler.source>1.8</maven.compiler.source><maven.compiler.target>1.8</maven.compiler.target></properties><dependencies><!-- 这里的内容是项目所需要的依赖,根据项目所需要的来编写 --><dependency><!-- 这里创建的javaweb项目是以一个简单的servlet作为示例。由于是采用 Maven 的 tomcat 插件的方式,在编写代码的时候是缺失必要的javax.servlet.http.HttpServlet相关的类的,所以需要在Maven的pom.xml的文件中添加上servlet的相关依赖。--><groupId>javax.servlet</groupId><artifactId>servlet-api</artifactId><version>2.5</version><!-- 如果不设置 <scope>provided</scope> 或者设置为 compile,在打包的时候会将 serlvet-api.jar 一起打包,然后将打包好的 war 包部署到服务器(另外一个电脑)中的 tomcat 里面,这样会跟服务器中(另外一个电脑)的 tomcat 内部存在的 servlet-api.jar 包冲突。会导致运行出问题。这个涉及到的是Maven的依赖作用范围的知识,这里就不过多的介绍,有兴趣自行去查找Maven的依赖作用范围相关资料去学习。--><scope>provided</scope></dependency><!-- 如果还用到JSP的话,还要加上JSP相关依赖,记得还是要加上 <scope>provided</scope> 总的来说,如果使用到tomcat自带jar包,将项目中依赖作用范围设置为:provided 其他依赖可以默认--><dependency><groupId>javax.servlet</groupId><artifactId>jsp-api</artifactId><!-- 用不到这个依赖就把这个依赖给删掉。 --><version>2.0</version><scope>provided</scope></dependency></dependencies><build><plugins><!-- 这个是tomcat插件 --><plugin><groupId>org.apache.tomcat.maven</groupId><artifactId>tomcat7-maven-plugin</artifactId><version>2.2</version><configuration><!-- 配置Tomcat端口号,默认为8080;虽然默认是8080,但还是显式地写出来,也可以自定义端口号 --><port>8081</port> <!-- 配置应用的访问路径,默认为 ROOT 即 "/";虽然默认是"/",但还是显式地写出来,也可以自定义访问路径 --><path>/</path> <!-- URL按UTF-8进行编码,这样就解决了中文参数乱码。 --><uriEncoding>UTF-8</uriEncoding></configuration></plugin><!-- <plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-war-plugin</artifactId><version>2.1-alpha-2</version><configuration></configuration></plugin> --></plugins></build></project>

注意:

  1. 由于是采用 Maven 的 tomcat 插件作为开发调试使用的服务器,在编写代码的时候是缺失 servlet 相关类库的(也就是缺失 servlet 相关依赖),所以需要在Maven的pom.xml的文件中添加上servlet的相关依赖。在添加 servlet 相关依赖的时候要注意将依赖作用范围设为provided。如下图所示:在这里插入图片描述

  2. tomcat 的插件可以在 tomcat 的官网上找到;http://tomcat.apache.org/maven-plugin.html,它里面现在有两个版本,分别是tomcat6、tomcat7。这些版本都比较老旧,可能在项目开发中并不适用,所以推荐在eclipse、IDEA等开发工具中配置使用外部下载好的tomcat。在这里插入图片描述

  3. 在eclipse中将tomcat插件运行起来在这里插入图片描述

2.4.2、配置外部下载好的tomcat

推荐使用配置外部下载好的tomcat,因为外部下载好的 tomcat 可以自由的选择版本;使用插件的方式,那些tomcat的版本版本都太低了,可能会出现各种问题,并不一定适合项目所需要。前面1.3章节有介绍怎样配置外部下载好的tomcat。点击查看

3、介绍一下命令的方式创建Maven项目。

3.1、创建普通的 java 项目

使用 maven-archetype-quickstart 可以快速创建一个简单的 Maven 项目(就是一个普通的 java 项目,一般可以用在简单的 demo 或者用于测试一下代码运行情况。其他用途也行,只要合适就好。)。只需要用户提供项目最基本的信息,就能生成项目的基本结构及 POM 文件。

mvn archetype:generate -DgroupId=net.biancheng.www -DartifactId=helloMaven -Dversion=0.0.1-SNAPSHOT -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false

参数说明:

  • -DgroupId: 项目组 ID,通常为组织名或公司网址的反写。
  • -DartifactId: 项目名。
  • -Dversion: 版本
  • -DarchetypeArtifactId: 指定 ArchetypeId,maven-archetype-quickstart 用于快速创建一个简单的 Maven 项目。
  • -DinteractiveMode: 是否使用交互模式。

3.2、创建一个简单的 Web 应用

上面介绍的 Maven 项目是普通的 java 项目打包类型是 JAR ,但在现今的互联网时代,我们创建的大部分应用程序都是 Web 应用,在 Java 中 Web 应用的打包方式是 WAR。使用 Maven 的 maven-archetype-webapp 模板可以创建一个简单的 Web 应用。

mvn archetype:generate -DgroupId=net.biancheng.www -DartifactId=mavenWeb -Dversion=0.0.1-SNAPSHOT -DarchetypeArtifactId=maven-archetype-webapp -DinteractiveMode=false

  • -DgroupId: 项目组 ID,通常为组织名或公司网址的反写。
  • -DartifactId: 项目名。
  • -Dversion: 版本
  • -DarchetypeArtifactId: 指定 ArchetypeId,maven-archetype-webapp 模板可以创建一个简单的 Web 应用。
  • -DinteractiveMode: 是否使用交互模式。

创建完成后里面的一些目录是不全的,根据需要自行加上。

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

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

相关文章

细说STM32F407单片机SPI基础知识

目录 一、 SPI接口和通信协议 1、 SPI硬件接口 &#xff08;1&#xff09;MOSI(Master Output Slave Input) &#xff08;2&#xff09;MISO(Master Input Slave Output) &#xff08;3&#xff09;SCK 2、SPI传输协议 &#xff08;1&#xff09;CPHA0时的数据传输时序 …

C# OpenCvSharp DNN 实现百度网盘AI大赛-表格检测第2名方案第三部分-表格方向识别

目录 说明 效果 模型 项目 ​编辑 代码 参考 下载 其他 说明 百度网盘AI大赛-表格检测的第2名方案。 该算法包含表格边界框检测、表格分割和表格方向识别三个部分&#xff0c;首先&#xff0c;ppyoloe-plus-x 对边界框进行预测&#xff0c;并对置信度较高的表格边界…

Excel + Notepad + CMD 命令行批量修改文件名

注意&#xff1a;该方式为直接修改原文件的文件名&#xff0c;不会生成新文件 新建Excel文件 A列&#xff1a;固定为 renB列&#xff1a;原文件名称C列&#xff1a;修改后保存的名称B列、C列&#xff0c;需要带文件后缀&#xff0c;为txt文件就是.txt结尾&#xff0c;为png图片…

数据结构-排序(来自于王道)

排序的基本概念 插入排序 在这个算法中&#xff0c;除了输入的数组本身&#xff0c;没有使用额外的数据结构来存储数据&#xff0c;所有的操作都是在原数组上进行的。因此&#xff0c;无论输入数组的大小 n 是多少&#xff0c;算法执行过程中所占用的额外空间是固定的&#xff…

【编译器】传统编译器和AI/ML编译器总结

前言 本文总结了传统编译器和AI/ML编译器&#xff0c;可作为学习、研究、研发的参考资料。 1.编译器-GC Clang Clang是一个C、C、Objective-C和Objective-C编程语言的编译器前端。它采用了LLVM作为其后端&#xff0c;由LLVM2.6开始&#xff0c;一起发布新版本。它的目标是提供一…

spring boot框架优劣势分析

优势&#xff08;Advantages&#xff09;: 1. 快速开发&#xff08;Rapid Development&#xff09;&#xff1a; • Spring Boot通过提供大量的默认配置和自动配置功能&#xff0c;极大地减少了开发过程中的配置工作量&#xff0c;从而加快了开发速度。 2. 简化部署&#xff08…

QT:在线安装与离线安装

QT 学习系列 QT&#xff1a;在线安装与离线安装 QT 学习系列一、安装&#xff08;一&#xff09;离线安装windows系统Linux 系统Mac 系统 &#xff08;二&#xff09;在线安装 二、 环境变量配置三、验证总结 一、安装 &#xff08;一&#xff09;离线安装 windows系统 获取…

FFmpeg功能使用

步骤&#xff1a;1&#xff0c;安装FFmpeg Download FFmpeg 在这里点击->Windows builds from gyan.dev&#xff1b;如下图 会跳到另外的下载界面&#xff1a; 在里面下拉选择点击ffmpeg-7.1-essentials_build.zip&#xff1a; 即可下载到FFmpeg&#xff1b; 使用&#…

【Python网络爬虫笔记】11- Xpath精准定位元素

目录 一、Xpath 在 Python 网络爬虫中的作用&#xff08;一&#xff09;精准定位元素&#xff08;二&#xff09;应对动态网页&#xff08;三&#xff09;数据结构化提取 二、Xpath 的常用方法&#xff08;一&#xff09;节点选取&#xff08;二&#xff09;谓词筛选&#xff0…

【数字花园】个人知识库网站搭建:①netlify免费搭建数字花园

目录 [[数字花园]]的构建原理包括三个步骤&#xff1a;五个部署方案教程相关教程使用的平台 步骤信息管理 这里记录的自己搭建数字花园&#xff08;在线个人知识库&#xff09;的经历&#xff0c;首先尝试的是网上普遍使用的方法&#xff0c;也就是本篇文章介绍的。 后面会继续…

【0x000C】HCI_Link_Key_Request_Negative_Reply 命令详解

目录 一、命令概述 二、命令格式及参数说明 2.1. HCI_Link_Key_Request_Negative_Reply命令格式 2.2. BD_ADDR 三、返回事件及参数 3.1. 生成的事件 3.2. BD_ADDR 2.3. Status 四、命令执行流程场景 4.1. 命令触发条件 4.2. 命令组装与发送 4.3. 控制器接收与处理 …

数字产业化和产业数字化到底是什么?

“数字产业化”和“产业数字化”在很多官方文件和领导人讲话中都是成对出现的&#xff0c;这两个术语看起来非常相似&#xff0c;但它们作为数字经济的两个重要组成部分&#xff0c;既有联系又有区别。 在谈数字产业化和产业数字化之前&#xff0c;我这里需要先给大家介绍一个概…

npm或yarn包配置地址源

三种方法 1.配置.npmrc 文件 在更目录新增.npmrc文件 然后写入需要访问的包的地址 2.直接yarn.lock文件里面修改地址 简单粗暴 3.yarn install 的时候添加参数 设置包的仓库地址 yarn config set registry https://registry.yarnpkg.com 安装&#xff1a;yarn install 注意…

文件上传之黑名单检测

一般情况下&#xff0c;代码文件里会有一个数组或者列表&#xff0c;该数组或者列表里会包含一些非法的字符或者字符串&#xff0c;当数据包中含有符合该列表的字符串时&#xff0c;即认定该数据包是非法的。 ​​ 一.如何判断是否为黑名单检测 黑名单是有限的&#xff0c;可以…

光控资本:锂电排产上行 AI手机有望快速渗透

AI手机有望快速渗透 据赛迪参谋猜想&#xff0c;2024年AI手机的出货量估量将会抵达1.5亿部&#xff0c;占全球智能手机总出货量13%&#xff0c;到2027年&#xff0c;全球AI手机销售量有望跨过5.9亿部&#xff0c;占全球智能手机总出货量的比重跨过50%。 跟着硬件根底夯实、端侧…

el-table 动态计算合并行

原始表格及代码 <el-table:data"tableData"class"myTable"header-row-class-name"tableHead" ><el-table-column prop"date" label"日期"> </el-table-column><el-table-column prop"name" …

druid.properties图标是齿轮

一、问题 在IDEA中&#xff0c; druid.properties图标是齿轮 二、原因 2023版本开始&#xff0c;IDEA新的UI的问题 三、解决方法 1、点击右上角的齿轮图标 2、点击Settings 3、Appearance & Behavior---->New UI---->取消勾选“Enable new UI”---->右下角OK 4…

龙海家园地面停车场探寻2

在南山前海上班2年多了&#xff0c;到现在最喜欢的小区还是龙海家园小区。龙海家园小区是深圳目前最大的公共保障性租赁住房小区,目前居住有约2.6万人。而小区的停车位是远远不够的。之前一直很好奇车子可以停哪里。 后面加班之余经常去小区吃饭和转转。发现龙海家园小区与对面…

群控系统服务端开发模式-应用开发-操作记录功能开发

一、开放路由 在根目录下route文件夹下修改app.php文件&#xff0c;代码如下&#xff1a; // 操作日志Route::get(token/get_list,permission.Token/getList);// 获取操作日志列表Route::post(token/get_all,permission.Token/getAll);// 获取操作日志所有数据Route::post(toke…

探索 HTTP 请求头中的 “Host” 字段及其安全风险

探索 HTTP 请求头中的 “Host” 字段及其安全风险 大家好&#xff0c;今天我们来聊聊 HTTP 请求头中的“Host”字段&#xff0c;以及它的使用方法和安全风险。 什么是Host字段 在 HTTP 请求头中&#xff0c;“Host”字段是一个至关重要的部分。它告诉服务器&#xff0c;我们…