手把手教你使用IDEA创建多模块(maven)项目
作者:哦...
前言
有了前面两篇手摸手打底,相信大家对IDEA创建项目和配置使用maven已经没有什么问题了。那么这篇文章阅读起来也会非常流畅。
对于IDEA来说,可以用拼接模块(Module)并引用的方式来“搭”一个项目(Project)。
1. 创建一个空的项目(empty project)
空项目的项目结构:
2. 你会注意到新建空项目只需要起一个名字,设置连Java SDK都不用选
这显然是不太可能的。所以啊,新建完空项目后,马上进入project sturcture...进行项目的相关设置。
可以看到目前SDK根本没有设定。
这里请一定进行配套的设置。SDK选择1.8,Language Level 选择8。
3. 接下来添加模块
添加的第一个模快,创建的方式用maven。模块的名字叫dao_mod,选择的模板是quickstart,不用忘了最下方设置包名,不然会使用默认的org.example
4.接下来继续添加service_mod模块
方式和dao_mod 一模一样
5.最后添加web_mod模块
与前两个不一样的是,它的模板是webapp
6.添加完毕后看一下项目结构
一个空项目下面有3个模块(module)。
7. 在dao_mod中添加MyDao
项目结构:
package org.piglite; public class MyDao { public String getUsernameById(int id){return "piglite";} }
代码是玩具代码。
8.在service_dao中添加MyService
项目结构MyDao类似,代码也是玩具代码:
package org.piglite; public class MyService { private MyDao mydao = new MyDao(); public String getUsernameById(int id){return mydao.getUsernameById(id);} }
这里需要注意的是MyService内部引用了MyDao,但是模块与模块之间不像包与包之间导入就可以,而是要建立模块与模块之间的依赖(Dependency),也就是service_mod依赖于dao.mod。
9.在web_mod中要添加MyServlet
添加前要做两件事:1.这是一个webapp模板,所以要添加名为java的源代码目录;2.这是maven构建的模块,通过maven引入比用的jar文件,包括servlet,jstl和standard。
编辑pom.xml,添加需要导入jar文件的<dependency>。
<dependency> <groupId>javax.servlet</groupId> <artifactId>javax.servlet-api</artifactId> <version>4.0.1</version> <scope>provided</scope> </dependency> <dependency> <groupId>javax.servlet</groupId> <artifactId>jstl</artifactId> <version>1.2</version> </dependency> <dependency> <groupId>taglibs</groupId> <artifactId>standard</artifactId> <version>1.1.2</version> </dependency>
10.在web_mod的java源文件目录下新建MyServlet:
import org.piglite.MyService; import javax.servlet.*; import javax.servlet.http.*; import javax.servlet.annotation.*; import java.io.IOException; @WebServlet(value = "/test") public class MyServlet extends HttpServlet { @Override protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { MyService service = new MyService(); String name = service.getUsernameById(1); request.setAttribute("name",name); request.getRequestDispatcher("hello.jsp").forward(request,response); } @Override protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { } }
11.编写hello.jsp
<%@page contentType="text/html; UTF-8" language="java" %> <%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <html> <body> <h2>Hello <c:out value="${name}"/> </h2> </body> </html>
JSP避免出现问题的前提条件是web_mod中有jstl.jar和standard.jar。
12.修改web.xml,将默认的动态网络模块从2.3改写为3.0
<?xml version="1.0" encoding="utf-8"?> <web-app version="3.0" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"> <display-name>Archetype Created Web Application</display-name> </web-app>
13.万事俱备,只欠Tomcat
添加TOMCAT的相关配置,配置细节与前面两篇一样,server和deployment都需要配置。
14.启动项目
默认进入http://localhost:8080,会显示index.jsp的相关内容。
修改url,进入http://localhost:8080/test,会显示hello piglite
写在最后
创建模块的时候,不使用maven构建,而创建普通的Java模块也是没有问题。模块其实就可以视为单独且功能完整的“小型程序”。普通Java模块编写时需要第三方的Jar就需要手动设置,maven在这方面相对方便一些。
到此这篇关于手把手教你使用IDEA创建多模块(maven)项目的文章就介绍到这了,更多相关IDEA创建多模块maven项目内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!