怎样使用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.rhkb.cn/news/490519.html

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

相关文章

C语言刷题

1. 题目描述 根据给出的三角形3条边a:b.c(a.b,c<100.000)&#xff0c;计算三角形的周长和面积。 输入描述: 一行&#xff0c;三角形3条边(能构成三角形)&#xff0c;中间用一个空格隔开. 输出描述: 一行&#xff0c;三角形周长和面积保留两位小数&#xff0c;中问用一个空…

C语言动态内存管理【进阶--5--】

文章目录 [toc] 动态内存管理一、作用即意义二、动态内存函数的介绍Ⅰ、malloc()函数、free()函数Ⅱ、calloc()函数Ⅲ、realloc()函数 三、常见的动态内存错误Ⅰ、对NULL指针的解引用操作Ⅱ、对动态开辟空间的越界访问Ⅲ、对非动态开辟的内存使用free释放Ⅳ、使用free释放动态开…

Python学习(三)—— 基础语法(下)

目录 一&#xff0c;函数 二&#xff0c;列表和元组 2.1 列表基础操作 2.2 切片 2.3 列表的增删查改 2.4 连接链表 2.5 元组 三&#xff0c;字典 3.1 关于字典 3.2 字典的增删查改操作 3.3 遍历字典元素 3.4 合法的key类型 四&#xff0c;文件操作 4.1 打开关闭…

【数据分享】2014-2024年我国POI兴趣点数据(免费获取/来源于OSM地图)

POI是Point of Interest的简称&#xff0c;意为“兴趣点”&#xff0c;是互联网电子地图中用于表示特定位置的地理实体的核心数据类型。POI通常用于标注具体地点&#xff0c;例如餐厅、商场、学校、医院、景点等。这些数据以点的形式呈现&#xff0c;并附带详细属性信息&#x…

执行python时报错SyntaxError: Non-UTF-8 code

执行python时报错SyntaxError: Non-UTF-8 code starting with ‘\xb4’ in file sqlite_insert.py on line 3, but no encoding declared; see http://python.org/dev/peps/pep-0263/ for details 通过对文件增加编码格式进行解决。 codingutf-8 codingutf-8 import sqlite…

三、前端学习——HTML表格创建与编辑

1 先看一段代码 css代码如下所示&#xff1a; /* 定义表格整体的宽度、边框样式和间距 */ table {width: 100%; /* 设置表格占据100%宽度 */border-collapse: collapse; /* 合并表格边框 */margin-top: 30px; /* 设置表格与上方元素的间距 */ }/* 定…

电子应用设计方案-52:智能电子相框系统方案设计

智能电子相框系统方案设计 一、引言 智能电子相框作为一种能够展示数字照片和多媒体内容的设备&#xff0c;为用户提供了便捷、个性化的照片展示方式。本方案旨在设计一款功能丰富、用户体验良好的智能电子相框系统。 二、系统概述 1. 系统目标 - 高质量显示照片和视频&#…

tomcat优化和动静分离

tomcat的优化和动静分离 tomcat的优化&#xff1a; 默认的安装情况下&#xff0c;tomcat经常会假死的情况 tomcat需要进行优化 优化的三个方面&#xff1a; 1、tomcat的配置优化2、操作系统的内核优化3、jvm调优 tomcat自身的优化&#xff1a; 8080&#xff1a;tomcat对外提供…

360quake导出工具

360Quake 查询工具 一个基于 PyQt6 开发的 360 Quake 网络空间测绘引擎查询工具&#xff0c;提供了简单直观的图形界面&#xff0c;支持多种数据导出格式。 功能特点 现代化的图形用户界面支持大规模数据查询&#xff08;最多100,000条结果&#xff09;实时查询进度显示多种…

东方通TongWeb替换Tomcat的踩坑记录

一、背景 由于信创需要&#xff0c;原来项目的用到的一些中间件、软件都要逐步替换为国产品牌&#xff0c;决定先从web容器入手&#xff0c;将Tomcat替换掉。在网上搜了一些资料&#xff0c;结合项目当前情况&#xff0c;考虑在金蝶AAS和东方通TongWeb里面选择&#xff0c;后又…

UE5中实现Billboard公告板渲染

公告板&#xff08;Billboard&#xff09;通常指永远面向摄像机的面片&#xff0c;游戏中许多技术都基于公告板&#xff0c;例如提示拾取图标、敌人血槽信息等&#xff0c;本文将使用UE5和材质节点制作一个公告板。 Gif效果&#xff1a; 网格效果&#xff1a; 1.思路 通过…

Cisco Packet Tarcer配置计网实验笔记

文章目录 概要整体架构流程网络设备互连基础拓扑图拓扑说明配置步骤 RIP/OSPF混合路由拓扑图拓扑说明配置步骤 BGP协议拓扑图拓扑说明配置步骤 ACL访问控制拓扑图拓扑说明配置步骤 HSRP冗余网关拓扑图拓扑说明配置步骤 小结 概要 一些环境配置笔记 整体架构流程 网络设备互连…

QTreeView 与 QTreeWidget 例子

1. 先举个例子 1班有3个学生&#xff1a;张三、李四、王五 4个学生属性&#xff1a;语文 数学 英语 性别。 语文 数学 英语使用QDoubleSpinBox* 编辑&#xff0c;范围为0到100,1位小数 性别使用QComboBox* 编辑&#xff0c;选项为&#xff1a;男、女 实现效果&#xff1a; 2…

渗透测试---wireshark(1)基本介绍与安装

声明&#xff1a;学习素材来自b站up【泷羽Sec】&#xff0c;侵删&#xff0c;若阅读过程中有相关方面的不足&#xff0c;还请指正&#xff0c;本文只做相关技术分享,切莫从事违法等相关行为&#xff0c;本人与泷羽sec团队一律不承担一切后果 视频地址&#xff1a;泷羽---wiresh…

AI开发 - 用GPT写一个GPT应用的真实案例

就在昨天&#xff0c;我的同事推荐给我了一个第三方的公共大模型API&#xff0c;这个API集合了国际上上几乎所有知名的大模型&#xff0c;只需要很少的费用&#xff0c;就可以接入到这些大模型中并使用它们。成本之低&#xff0c;令人乍舌&#xff01;包括我们现在无法试用的 G…

搭建Tomcat(一)---SocketServerSocket

目录 引入1 引入2--socket 流程 Socket&#xff08;应用程序之间的通讯保障&#xff09; 网卡(计算机之间的通讯保障) 端口 端口号 实例 client端 解析 server端 解析 相关方法 问题1&#xff1a;ServerSocket和Socket有什么关系&#xff1f; ServerSocket Soc…

epoll反应堆模型

epoll反应堆模型 基于该视频所做笔记&#xff0c;视频里面讲的也挺难的&#xff0c;最好先让chat给你梳理一遍整体的代码再去看视频吧 15-epoll反应堆模型总述_bilibili_哔哩哔哩_bilibili 文章目录 epoll反应堆模型1.epoll反应堆模型概述2.具体讲解1.myevent_s结构体2.超时检…

探索自我成长的心理疗愈——读《蛤蟆先生去看心理医生》

《蛤蟆先生去看心理医生》以其强烈的代入感&#xff0c;让读者仿佛置身于故事之中&#xff0c;深刻体会到心理学的魅力。 读完此书后&#xff0c;我最大的收获是&#xff1a;“过去的种种磨难使你的人生体验更加丰富和深刻&#xff0c;因此新生活不会显得乏味。通过清晰地认识…

24秋:模式识别:填空解答题

​ 目录 一.空题目 二.解答题目 一.空题目 9&#xff1a;已知样本集合为&#xff1a;([3,4],1),([2,5],2),([8,10],3),([7,8],4),([6,9],5)&#xff0c;请计算样本数据部分的均值______ 10&#xff1a;当样本数较小时&#xff0c;为什么最小化经验风险会带来过拟合问题&…

Ubuntu上源码编译安装snort,使用snort进行数据检测和防御(简单示例)

前言 Snort是一个开源的网络入侵检测和防范系统&#xff08;IDS/IPS&#xff09;&#xff0c;Snort是一个基于libpcap的轻量级网络入侵检测系统&#xff0c;它运行在一个“传感器&#xff08;sensor&#xff09;”主机上&#xff0c;监听网络数据。通过将网络数据与规则集进行…