在上一篇博客 Maven工具之安装Maven(附详细演示过程) 介绍了Maven工具的安装,以及IDEA中如何配置Maven。在本篇博客将演示如何创建使用Maven的Java项目。
一、不使用骨架,手动撸使用Maven的普通的Java项目
1、选择Maven项目,不勾选任何选项
2、设置项目组织名、项目名
3、设置项目名(默认使用前面设置的)
4、等待资源下载完毕
如果你是第一次创建Maven项目,这里IDEA会自动访问中央仓库下载响应的资源,时间可能比较长,请耐心等待。
二、使用骨架,创建使用Maven的普通的Java项目
1、选择maven-archetype-quickstart
2、设置项目组织名、项目名
3、选择maven路径(一般默认IDEA配置好的,不做修改)
4、设置项目名(默认之前的设置)
5、出现BUILD SUCCESS
表示创建成功
6、运行App.main
方法
虽说是quickstart
,但是并没有创建src/main/resources
、src/test/resources
目录(创建方法见下面创建web项目)。
三、使用骨架,创建使用Maven的Java Web项目
1、选择maven-archetype-webapp
2、设置项目组织名、项目名
3、选择maven路径(一般默认IDEA配置好的,不做修改)
4、设置项目名(默认之前的设置)
5、创建成功的项目结构
四、完善创建的Java Web
项目
上面创建的三个项目都是不完整的,都需要进行文件夹的添加。
1、创建src/main/resources
目录
将src/main/resources
标记为Resources Root
2、创建src/main/java
目录
将src/main/java
标记为Sources Root
3、创建src/test
目录
4、创建src/test/java
目录
将src/test/java
标记为Test Sources Root
5、创建src/test/resources
目录
将src/test/resources
标记为Test Resources Root
五、在创建的Web项目中编写Hello World
!实例
1、修改pom.xml中的jdk版本
<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>
2、在pom.xml中添加javax.servlet
依赖
<dependency>
<!-- 导入javax.servlet组织的servlet-api项目,版本号为2.5 -->
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
<version>2.5</version>
</dependency>
3、在pom.xml中添加javax.servlet.jsp
依赖
<dependency>
<!-- 导入javax.servlet.jsp组织的jsp-api项目,版本号为2.0 -->
<groupId>javax.servlet.jsp</groupId>
<artifactId>jsp-api</artifactId>
<version>2.0</version>
</dependency>
4、在pom.xml中添加tomcat7
插件
<build>
<plugins>
<plugin>
<groupId>org.apache.tomcat.maven</groupId>
<artifactId>tomcat7-maven-plugin</artifactId>
<version>2.2</version>
<configuration>
<port>8080</port>
<uriEncoding>UTF-8</uriEncoding>
</configuration>
</plugin>
</plugins>
</build>
5、编写HelloServlet
新建cn.hestyle.web.servlet
包
新建HelloServlet
类
package cn.hestyle.web.servlet;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
/**
* @author hestyle
*/
public class HelloServlet extends HttpServlet {
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
}
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
System.err.println("访问了HelloServlet.doGet方法");
//跳转到hello.jsp
request.getRequestDispatcher("/hello.jsp").forward(request, response);
}
}
<servlet>
<servlet-name>HelloServlet</servlet-name>
<servlet-class>cn.hestyle.web.servlet.HelloServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>HelloServlet</servlet-name>
<url-pattern>/hello.do</url-pattern>
</servlet-mapping>
6、编写hello.jsp
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>hello</title>
</head>
<body>
hello...
</body>
</html>
7、启动项目
但是报错了
我们导入的servlet-api
,jsp-api
与tomcat自带的servlet-api
、jsp-api
发生了冲突,但是如果我们不导入这两个依赖,编写Servlet
会报错,因为找不到HttpServlet
类(你可以试试删掉这两个依赖,看看HelloServlet是否会报错)。
将pom.xml中的servlet-api
,jsp-api
的范围修改为编译、测试。
修改完毕时,不能直接在此执行mvn tomcat7:run
命令,会报错端口已被占用。
需要先停止原来的项目,然后再执行mvn tomcat7:run
命令,启动tomcat
。
以上就是Maven工具之创建第一个项目,以及常见的项目启动错误解决方法,喜欢的可以点个赞哟~