创建第一个Maven项目
-----------------------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 坐标:
(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
参考链接:
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 LoginServlet extends HttpServlet { private static final public LoginServlet() { } protected response.setContentType("text/html;charset=utf-8"); response.getWriter().write("Hello Maven!"); } protected doGet(request, response); } } |
web.xml:
<?xml <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" <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:
<project 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项目的更多相关文章
- 用Intellij IDEA 创建第一个maven项目!
1. 一直想如何复用以前项目的maven的jar包! 其实只要拿到pom.xml即可!!! 1.1 创建一个maven项目 2. 3. 创建项目名和项目路径,我给项目起的名字是mavenV1.0 4. ...
- java学习入门之---使用idea创建第一个maven项目
一.准备条件: 1.安装idea旗舰版 2.安装tomcat 二.打开idea开始创建 1.创建Project 2.选择项目类型为maven 3.输入组名和项目名 ---> 下一步 ----&g ...
- 创建第一个maven项目的那些坑
1.记事本方式: class所在的目录结构: class的代码书写: package com.imooc.maven01.mode1; public class HelloWorld { public ...
- Maven 系列 二 :Maven 常用命令,手动创建第一个 Maven 项目【转】
1.根据 Maven 的约定,我们在D盘根目录手动创建如下目录及文件结构: 2.打开 pom.xml 文件,添加如下内容: <project xmlns="http://maven.a ...
- Maven 系列 二 :Maven 常用命令,手动创建第一个 Maven 项目
1.根据 Maven 的约定,我们在D盘根目录手动创建如下目录及文件结构: 2.打开 pom.xml 文件,添加如下内容: 1 <project xmlns="http://maven ...
- Maven入门指南② :Maven 常用命令,手动创建第一个 Maven 项目
1.根据 Maven 的约定,我们在D盘根目录手动创建如下目录及文件结构: 2.打开pom.xml文件,添加如下内容: <project xmlns="http://maven.apa ...
- 使用dos命令创建多模块Maven项目
好吧,咱们接着上一篇博客继续用另一种方式来创建Maven项目.不过在创建之前我们应该先熟悉一些相关dos命令. 创建web项目命令: mvn archetype:generate -DgroupId= ...
- eclipse中创建一个maven项目
1.什么是Maven Apache Maven 是一个项目管理和整合工具.基于工程对象模型(POM)的概念,通过一个中央信息管理模块,Maven 能够管理项目的构建.报告和文档. Maven工程结构和 ...
- 如何在idea里面新建一个maven项目,然后在这个maven项目里创建多个子模块
如何在idea里面配置maven我这里就不多说了 先新建一个maven项目作为总的管理项目 不用勾选什么,直接下一步 这样子一个普通的maven项目就创建成功了. 因为这个项目是用来管理多个子模块的, ...
随机推荐
- 1038 Recover the Smallest Number (30 分)
1038 Recover the Smallest Number (30 分) Given a collection of number segments, you are supposed to r ...
- Doris FE负载均衡配置
0 背景概述 Doris完全兼容了mysql协议,并且Doris FE本身通过多follower选举机制选举出master,可以保证fe本身的高可用性,也可以通过加入observer fe节点来提高f ...
- sqoop操作之ORACLE导入到HIVE
导入表的所有字段 sqoop import --connect jdbc:oracle:thin:@192.168.1.107:1521:ORCL \ --username SCOTT --passw ...
- php变量详细讲解
变量是用于存储信息的"容器". 定义一个变量的语法: $变量名 = 值; 使用变量的例子: <?php $x=5; $y=6; $z=$x+$y; echo $z; ?> ...
- 使用HTML引用标签来分隔Ticket回复
今天在查看Ticket的时候,发现如何和客户之间有很多个来回,Ticket的Correspondence就会很长很长,虽然我们有自己的Breakline,但是由于客户回复邮件时,添加的用于分隔旧信息和 ...
- python 命名元组(namedtuple)
我们知道c/c++语言中,有结构体这种数据类型: struct{ string name; int age; char sex; }student; 在对结构体对象进行赋值或者取值时可以使用.运算 ...
- blktrace未公开选项网络保存截取数据
本文链接地址: blktrace未公开选项网络保存截取数据 我们透过blktrace来观察io行为的时候,第一件事情需要选择目标设备,以便分析该设备的io行为.具体使用可以参考我之前写的几篇:这里 这 ...
- 提高solr的搜索速度
之前是使用12台机分布式搜索,1台为主机做索引并分发给子机,8台做大索引搜索服务,3 台做小索引搜索服务,配置基本是内存在4-8G,cpu:2-8core的服务器,索引的大小为8G.搜索的响应时间 是 ...
- icil 参考docker
@All 有不知道怎么用docker发布项目的,请参考 http://192.168.18.224:8888/svn/Enterprise/site/docker/overview of docker ...
- Spring Boot 入门搭建
一.前言 Spring Boot 的设计目的是用来简化新 Spring 应用的初始搭建以及开发过程.该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置. 二.环境搭建 创建一个 ...