Maven
5、Maven
为什么要学习这个技术
1.解决手动导入jar包问题
2.使用自动配置,简单快捷
5.1Maven项目构建管理工具
maven的核心思想:约定大于配置
- 有约束,不要去违反
5.2下载安装maven
5.3配置环境变量
系统环境变量中
配置如下:
- M2_HOME:maven目录下的bin目录:D:\Enviroment\apache-maven-3.8.6\bin
- MAVEN_HOME:maven的目录:D:\Enviroment\apache-maven-3.8.6
- 在系统的Path中,配置MAVEN_HOME:%MAVEN_HOME%\bin
测试是否配置成功:dos,mvn -version
5.4阿里云镜像
<mirror>
<id>nexus-aliyun</id>
<mirrorOf>*,!jeecg,!jeecg-snapshots</mirrorOf>
<name>Nexus aliyun</name>
<url>http://maven.aliyun.com/nexus/content/groups/public</url>
</mirror>
5.5本地仓库localRepository
<!-- localRepository
| The path to the local repository maven will use to store artifacts.
|
| Default: ${user.home}/.m2/repository
<localRepository>/path/to/local/repo</localRepository>
-->
<localRepository>D:\Enviroment\apache-maven-3.8.6\maven-repo</localRepository>
maven-repo这个是自己在本地电脑创建的
5.6在IDEA中使用Maven
G:组ID,公司域名
A:项目名
V:版本号
setting->maven:
maven home path:是用本地D:\Enviroment\apache-maven-3.8.6\
5.7使用Tomcat
deployment path:src/main/webapp
- 重新写web.xml,使用Tomcat自带的web.xml内容重写
5.8解决大家遇到的一些问题
-
Tomcat闪退
可能是JAVA_HOME,M.2_HOME,或者Maven_HOME错误 -
每次进入都要配置maven
可以在最外面,没有进入工程之前,配置总体cfg -
默认生成的web.xml版本问题
参考Tomcat配置文件 -
资源无法导出问题:
一般资源文件放在resources中,导出没有问题,但放在其他文件夹中,不能正常导出,解决方法:
1-把资源文件放在sources文件中
2-修改pom文件
但最后,导出来都在同一个文件目录下
<build>
<reource>
<dirctory>src/mian/java</dirctory>
<include>**/*.properties</include>
<include>**/*.xml</include>
</reource>
</build>
5.9maven仓库的使用
导入jar包,找到maven坐标:javax.servlet-api, javax.servlet.jsp
直接去apache的maven官网找
最后 Servlet例子
- HelloWorld.java
public class HelloServlet extends HttpServlet {
@Override
//doPost方法也要重写
protected void doGet(HttpServletRequest req, HttpServletResponse response) throws ServletException, IOException {
//super.doGet(req, response);
response.setCharacterEncoding("utf-8");
//响应的文本类型
response.setContentType("text/html");
//获得响应的输出流
PrintWriter out = response.getWriter();
out.println("<html>");
out.println("<head>");
out.println("<title>Hello World!</title>");
out.println("</head>");
out.println("<body>");
out.println("<h1>Hello 狂神 World!</h1>");
out.println("</body>");
out.println("</html>");
}
- web.xml中,配置映射
<servlet>
<servlet-name>helloServlet</servlet-name>//映射名字x
<servlet-class>avic.tech.servlet.HelloServlet</servlet-class>//映射的类名
</servlet>
<servlet-mapping>
<servlet-name>helloServlet</servlet-name>//和映射名字x,保持一致
<url-pattern>/kuangshen</url-pattern>//映射的路径
</servlet-mapping>
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)