Maven环境下构建多模块项目(有问题,未解决,有时间再解决)
Maven环境下构建多模块项目
081-Maven-Maven环境下多模块项目的构建_哔哩哔哩_bilibili
work01/maven_parent
学习maven的时候出现好多问题,等待假期再解决 :< :< :<
一、创建父模块和3个子模块
1.maven_parent(不用选模板)
2.maven_dao(maven_parent下的子模块)
3.maven_service(maven_parent下的子模块)
4.maven_controller(maven_parent下的子模块)
二、修改子模块中的相关配置文件
1.maven_dao,<pluginManagement></pluginManagement>删掉
2.maven_service,同样删掉<pluginManagement>
3.maven_controller,同样删掉 <pluginManagement>标签
三、设置模块之间的依赖
依赖关系:controller层依赖service,service层依赖dao层,最后,需要添加Tomcat的相关插件
可能会出现的问题:IDEA怎么将目录转换成资源,在目录下为什么不能创建包或者是java类的问题 - yuanse - 博客园 (cnblogs.com)
1.maven_dao
在maven_dao模块下,在src/main/java的com.xxxx下面创建一个dao包,包下面创建一个UserDao Java类
编写UserDao
package com.xxxx.dao; public class UserDao { public static void testDao(){ System.out.println("UserDao Test..."); } }
2.maven_service
同样的,在src/main/java下的com.xxxx创建一个service包,包下新建UserService java类,然后编写UserService文件
但是这么写会报错,因为没有添加依赖,,会有提示信息,点击会帮我们自动添加依赖,一开始我自己添加的反而容易出错,他帮我们添加的就不会出错,建议还是通过提示信息点击添加依赖
方法:打开maven_dao 找到下面这个唯一标识,复制到maven_service.xml的依赖里面去
然后就可以使用UserDao了
3.maven_controller :导入service模块、servlet的依赖(可以去maven仓库中找),除此之外我们发现这个controller层没有java文件,需要自己添加
添加java包:main右键-->Directory,然后(将其转成源文件)java右键-->Make Directory as-->Sources Root
java右键-->new-->package,包起名为com.xxxx.controller
然后
编写代码
package com.xxxx.controller; import com.xxxx.service.UserService; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException; @WebServlet("/user") public class UserServlet extends HttpServlet { @Override protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { System.out.println("UserServlet Test...."); //调用maven_service模块的方法 UserService.testService(); } }
添加Tomcat的相关插件
<plugins> <plugin> <groupId>org.apache.tomcat.maven</groupId> <artifactId>tomcat6-maven-plugin</artifactId> <version>2.2</version> <configuration> <path>/web</path><!--对外访问路径--> <uriEncoding>UTF-8</uriEncoding> <server>tomcat6</server> </configuration> </plugin> </plugins>
启动Tomcat
就算启动成功了,也能通过localhost:8080/web进行访问,但是只能访问到localhost:8080/web/(这个是maven_controller里面里面的一个jsp文件),不能访问到 localhost/8080/web/user
但是如果我直接配置tomcat来启动的话,却可以访问到这个/user
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~