论坛
潜水/灌水快乐,沉淀知识,认识更多同行。
ToB圈子
加入IT圈,遇到更多同好之人。
朋友圈
看朋友圈动态,了解ToB世界。
ToB门户
了解全球最新的ToB事件
博客
Blog
排行榜
Ranklist
文库
业界最专业的IT文库,上传资料也可以赚钱
下载
分享
Share
导读
Guide
相册
Album
记录
Doing
搜索
本版
文章
帖子
ToB圈子
用户
免费入驻
产品入驻
解决方案入驻
公司入驻
案例入驻
登录
·
注册
只需一步,快速开始
账号登录
立即注册
找回密码
用户名
Email
自动登录
找回密码
密码
登录
立即注册
首页
找靠谱产品
找解决方案
找靠谱公司
找案例
找对的人
专家智库
悬赏任务
圈子
SAAS
ToB企服应用市场:ToB评测及商务社交产业平台
»
论坛
›
软件与程序人生
›
前端开发
›
怎样利用Eclipse创建Maven的Java WEB 项目
怎样利用Eclipse创建Maven的Java WEB 项目
温锦文欧普厨电及净水器总代理
金牌会员
|
2024-12-10 06:28:26
|
显示全部楼层
|
阅读模式
楼主
主题
839
|
帖子
839
|
积分
2517
这里是基于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
把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>
复制代码
修改.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>
复制代码
注意:
由于是接纳 Maven 的 tomcat 插件作为开发调试利用的服务器,在编写代码的时候是缺失 servlet 相关类库的(也就是缺失 servlet 相关依赖),所以需要在Maven的pom.xml的文件中添加上servlet的相关依赖。在添加 servlet 相关依赖的时候要注意将依赖作用范围设为provided。如下图所示:
tomcat 的插件可以在 tomcat 的官网上找到;http://tomcat.apache.org/maven-plugin.html,它里面现在有两个版本,分别是tomcat6、tomcat7。这些版本都比较老旧,可能在项目开发中并不适用,所以推荐在eclipse、IDEA等开发工具中配置利用外部下载好的tomcat。
在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: 是否利用交互模式。
创建完成后里面的一些目录是不全的,根据需要自行加上。
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
本帖子中包含更多资源
您需要
登录
才可以下载或查看,没有账号?
立即注册
x
回复
使用道具
举报
0 个回复
正序浏览
返回列表
快速回复
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
or
立即注册
本版积分规则
发表回复
回帖并转播
发新帖
回复
温锦文欧普厨电及净水器总代理
金牌会员
这个人很懒什么都没写!
楼主热帖
可扩展性对物联网管理系统有哪些影响? ...
如何入门渗透测试
SQL的语法
一文详解|影响成长的关键思考 ...
简析XDP的重定向机制
高校学籍管理系统(SQL Server数据库课 ...
2 分钟,了解 4 个极为有用的 MetricsQ ...
OLED显示曲线
大企业才用的分布式唯一Id,它比GUID好 ...
☆常用的Sql语句汇总(DDL/DML) ...
标签云
挺好的
服务器
快速回复
返回顶部
返回列表