创建第一个Maven项目
来源:互联网 发布:电脑看片有什么软件 编辑:程序博客网 时间:2024/06/03 09:25
-----------------------siwuxie095
创建第一个 Maven 项目
1、打开Eclipse,File->New->Maven Project
建议:勾选上Create a simple project(skip archetype selection),
即跳过原型选项或跳过骨架选项
2、输入Maven 项目相关信息
其中:
(1)Group Id:当前 Maven 项目隶属的实际项目
(2)Artifact Id:当前 Maven 项目(也称 模块)
(3)Version:当前 Maven 项目的版本号
1)SNAPSHOT:快照版本,即 测试版本
2)RELEASE:发布版本,即 正式版本
(4)Packaging:当前 Maven 项目的打包方式,有三种:jar、
war、pom,打包方式决定了当前Maven 项目的性质
1)jar:Java 项目
2)war:Web 项目
3)pom:父项目(用于 Maven 项目的继承)
(5)Name:当前 Maven 项目的显示名,常用于 Maven 生成的文档
(6)Description:当前 Maven 项目的描述,常用于 Maven 生成的文档
3、这里创建的是Web 项目,如下:
其中有两个错误:
(1)没有部署描述文件web.xml,解决方法:
选择项目名,右键->Java EE Tools->Generate Deployment
Descriptor Stub,将自动在webapp 目录下生成WEB-INF
目录 和web.xml 文件
(2)Maven 默认的JDK 版本是 1.5,需要将其修改为本机的 JDK 版本
法一:在pom.xml 的project 标签中添加如下内容:
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.8</source>
<target>1.8</target>
<encoding>UTF-8</encoding>
</configuration>
</plugin>
</plugins>
</build>
法二:在settings.xml 的profiles 标签中添加如下内容(建议):
<profile>
<id>jdk-1.8</id>
<activation>
<activeByDefault>true</activeByDefault>
<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->Update Project…
4、在src/main/java 目录中创建 Servlet 时,编译报错
原因:缺少servlet-api-xxx.jar,解决方法:在 pom.xml
的project 标签中添加依赖,即添加该 jar 包的坐标
<dependencies>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
<version>2.5</version>
<!--
注意:
最终要将该项目运行在 Tomcat 中,而 Tomcat中
已经包含了 servlet-api 的 jar包
这里添加 servlet-api的依赖仅仅是为了保证编
译通过,不报错而已
当把项目运行在 Tomcat 中时,为避免 jar包冲突,
需要将这里 servlet-api 的作用范围 scope设置为
provided,即只在编译和测试时有效,而在运行时
无效
同理,jsp-api也是如此
-->
<scope>provided</scope>
</dependency>
</dependencies>
保存后,项目目录将出现Maven Dependencies,该 jar 包
索引到本地仓库,且此时编译正常
注:创建的Servlet 将在 web.xml 中自动注册,无需手动注册。
当然,可以在web.xml 中对该Servlet 的访问路径进行修改
5、在添加依赖时,如果不知道该依赖的相关信息,就需要查找
依赖,可以使用仓库搜索服务来根据关键字得到Maven 坐标:
(1)http://mvnrepository.com/
(2)http://search.maven.org/
(3)http://www.mvnbrowser.com
(4)https://repository.sonatype.org/#welcome
6、不再使用Maven 默认的tomcat-maven-plugin 插件,改用
tomcat6-maven-plugin和tomcat7-maven-plugin插件
「截止目前(2017/9/22)最新的插件」
法一:在pom.xml 的project 标签中添加如下内容:
<build>
<plugins>
<plugin>
<groupId>org.apache.tomcat.maven</groupId>
<artifactId>tomcat6-maven-plugin</artifactId>
<version>2.2</version>
</plugin>
<plugin>
<groupId>org.apache.tomcat.maven</groupId>
<artifactId>tomcat7-maven-plugin</artifactId>
<version>2.2</version>
</plugin>
</plugins>
</build>
法二:在settings.xml 的pluginGroups 标签中添加如下内容(建议):
<pluginGroup>org.apache.tomcat.maven</pluginGroup>
插件官网:
http://tomcat.apache.org/maven-plugin.html
参考链接:
参考链接1,参考链接2,参考链接3,参考链接4
7、项目文件一览:
LoginServlet.java:
package com.siwuxie095.servlet;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class LoginServletextends HttpServlet {
private static finallong serialVersionUID =1L;
public LoginServlet() {
}
protectedvoid doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.setContentType("text/html;charset=utf-8");
response.getWriter().write("Hello Maven!");
}
protectedvoid doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doGet(request, response);
}
}
web.xml:
<?xmlversion="1.0"encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaeehttp://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"version="2.5">
<display-name>maven-test</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>
<servlet>
<description></description>
<display-name>LoginServlet</display-name>
<servlet-name>LoginServlet</servlet-name>
<servlet-class>com.siwuxie095.servlet.LoginServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>LoginServlet</servlet-name>
<url-pattern>/LoginServlet</url-pattern>
</servlet-mapping>
</web-app>
pom.xml:
<projectxmlns="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>
<!--当前 Maven项目的坐标信息 -->
<groupId>com.siwuxie095.maven</groupId>
<artifactId>maven-test</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>war</packaging>
<dependencies>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
<version>2.5</version>
<!--
注意:
最终要将该项目运行在 Tomcat 中,而 Tomcat中
已经包含了 servlet-api 的 jar包
这里添加 servlet-api的依赖仅仅是为了保证编
译通过,不报错而已
当把项目运行在 Tomcat 中时,为避免 jar包冲突,
需要将这里 servlet-api 的作用范围 scope设置为
provided,即只在编译和测试时有效,而在运行时
无效
同理,jsp-api也是如此
几乎所有 Maven的 Web项目都要添加 servlet-api
和 jsp-api依赖,因为这里没有编写 JSP页面,所
以没有添加 jsp-api 依赖
-->
<scope>provided</scope>
</dependency>
</dependencies>
</project>
8、运行该 Web 项目
法一:选择项目名,右键->Run As->Run on Server
法二:选择项目名,右键->Run As->Maven build…,
在 Goals 处输入tomcat7:run(或 tomcat6:run)
「如果是在CMD 窗口中,则需要输入 mvn tomcat7:run」
注意:
(1)Maven build… 和Maven build 的区别:
前者是手动输入命令进行操作,后者是保存前者的命令记录
(2)Run on Server 和tomcat7:run 的区别:
前者是将该Web 项目运行在本机安装的 Tomcat 9,而后者
是将该Web 项目运行在 Maven 的 tomcat7-maven-plugin
插件
9、调试该Web 项目
法一:选择项目名,右键->Debug As->Debug on Server
法二:选择项目名,右键->Debug As->Maven build…,
在 Goals 处输入tomcat7:run(或 tomcat6:run)
值得注意的是:调试时需要手动选择该项目
10、访问路径
http://localhost:8080/maven-test/LoginServlet
【made by siwuxie095】
- 创建第一个Maven项目
- 用maven创建第一个maven项目
- 用Maven创建第一个web项目
- 用Maven创建第一个web项目
- 用Maven创建第一个web项目
- 用Maven创建第一个web项目
- 用Maven创建第一个web项目
- 用maven创建第一个项目
- 用Maven创建第一个web项目
- 用Maven创建第一个web项目
- 用Maven创建第一个web项目
- 使用Myeclipse创建第一个Maven项目
- 用Maven创建第一个web项目
- 用Maven创建第一个web项目
- 用Maven创建第一个web项目
- 用Maven创建第一个WEB项目
- 用Maven创建第一个Web项目
- 用Maven创建第一个web项目
- OpenStack大规模部署详解 Ocata
- 题目:解决Python2.7的UnicodeEncodeError: ‘ascii’ codec can’t encode异常错误
- com.sun.org.apache.xerces.internal.impl.io.MalformedByteSequenceException: Invalid byte 2 of 2-byte
- js 判断数组 对象 为空
- access 学习记录
- 创建第一个Maven项目
- Java之正则表达式的组概念-yellowcong
- leetcode 216. Combination Sum III DFS + 按照index递归遍历
- node 实现城市列表A-Z 排序
- springboot websocket 解决不能注入bean问题
- 我理解的进程与线程
- 千视通旗下深圳久凌摘得2017第九届中国深圳创新创业大赛三等奖
- python3.5 实现图片转文字
- Eclipse单元测试-最大子数组和算法