Maven
内容管理- 在IDE工具中使用Maven
- IDEA配置Maven
- IDEA中创建项目
- Eclipse中配置Maven
- Eclipse创建web项目
- 设置依赖后爆红
- 导入module
- 依赖范围
- maven的属性设置
- 全局变量
- 资源插件
Javaweb — emmm…快快的,马上进框架了,都是工具,害
Maven
在IDE工具中使用Maven IDEA配置MavenMaven作为构建项目的辅助工具,其发挥的作用是巨大的,特别是依赖管理和项目构建非常强大,但是技术加上工具也许会实现另外一种腾飞,就像IDE工具 + Tomcat
在IDEA工具中内置了很多工具,但是一般为了方便修改,不用内置的工具,而是使用安装的工具,这样就不会出现工具的局限,其他的工具比如eclipse也可以使用;所以需要在IDEA中去覆盖默认配置。
- 首先需要设置的地方是File目录下的settings【代表当前工程】和other settrings【代表以后的工程】 ---- 修改的方式相同
找到settings中的build、Excution、Deployment----> build Tools---->maven —> maven home directory : maven安装目录 ; User settings File : maven安装目录中的conf/setting.xml文件 Local Repostory: 本机仓库的目录位置
- 然后将几个位置进行修改 : 为了更加快捷运行maven,在maven下的runner位置设置VM options : -DarchetypeCatalog=internal
这样配置就算完成了
IDEA中创建项目创建空项目之后,然后添加module;这个时候选择maven;复选框就是是否使用archetype;也就是使用模板创建项目
1).maven-archetype-quickstart: 普通的java项目
这个时候点击next,会出现Parent,这里没有父项目,不用管,命名之后进入后面设置项目的坐标
可以看到下面创建项目成功【这个模板默认是没有resources文件夹】
[INFO] Using following parameters for creating project from Archetype: maven-archetype-quickstart:RELEASE [INFO] ---------------------------------------------------------------------------- [INFO] Parameter: groupId, Value: Cfeng [INFO] Parameter: artifactId, Value: maventest [INFO] Parameter: version, Value: 1.0-SNAPSHOT [INFO] Parameter: package, Value: Cfeng [INFO] Parameter: packageInPathFormat, Value: Cfeng [INFO] Parameter: package, Value: Cfeng [INFO] Parameter: groupId, Value: Cfeng [INFO] Parameter: artifactId, Value: maventest [INFO] Parameter: version, Value: 1.0-SNAPSHOT [INFO] Project created from Archetype in dir: C:UsersOMEY-PCAppDataLocalTemparchetypetmpmaventest [INFO] ------------------------------------------------------------------------ [INFO] BUILD SUCCESS
注意,建立项目的时候,普通的文件夹是不能创建java classes的,要sources 蓝色的文件夹才可以,所以需要将防止java类的包设置为source类型
也就是主程序的java文件夹应该为蓝色的,测试程序的java文件夹为绿色的,资源文件则要设置为资源文件类型
package Cfeng;
public class HelloMaven {
public int add(int n1,int n2){
return n1 + n2;
}
public static void main(String[] args) {
HelloMaven hello = new HelloMaven();
int res = hello.add(10,20);
System.out.println("result =" + res);
}
}
//简单写一下这个主程序,这个时候在写一个test程序
2).maven-archetype-webapp: java web项目
这里直接new module ,选择maven的模板,创键java web项目
这里感觉2019.1.3不是很好用,就卸载重装了2019.3;安装的过程还是很简单,就来一个插件即可;
javax.servlet
javax.servlet-api
4.0.1
provided
javax.servlet.jsp
jsp-api
2.1
provided
之后创建相应的文件夹,在main的java文件夹下面创建cfeng.controller包,新建一个servlet;这里就不在web.xml中配置,直接使用webservlet注解
package cfeng.controller;
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("/hello")
public class HelloServlet extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
System.out.println("你好");
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
System.out.println("你好");
}
}
然后就简单在index.jsp中写一个超链接
Hello World! Welcome
再将项目部署到Tomcat就可以正常运行了
Eclipse中配置MavenEclipse之前忘记配置JDK的路径,导致用了半年的默认的下载的JDK,全部在C盘的当前用户的.p2文件夹中;所以以后下载的时候除了要看最开始的安装路径,还要记得修改conf中的配置xml
-
首先就是将本地的maven配置到软件中,在window-----> Perferences下面选择Maven;选择installations;点击Add,选择安装的路径,之后apply即可
-
【配置仓库和设置】选择User settings ,设置几个值,和IDEA相同,都是直接配置即可
在其下的archType中,已经选择了interna,所以就不用修改
Eclipse创建web项目这里选择的时候就直接创建Maven project;这样之后创建普通的项目就直接jar包选择即可;但是对于web项目,首先要选择war包;创建之后会报错
- 这个时候首先点击项目,选择build Path — configuration ----> 选择java factor —> 取消勾选dynamic【动态】 apply之后,再次勾选
勾选时出现问题【eclipse选择maven的时候显示requires java 1.8 or newer】?
这个时候可以用navigator视角观察项目的classpath的settings,发现其默认的jdk版本是1.5 ;所以这里需要修改,第一种就是在该项目的pom.xml中添加一个jdk版本设置
16 16
但是这样子每次都需要修改,所以可以直接修改Maven的配置文件settings
jdk-16 true 16 16 16 16
这个是在标签profiles下面;修改之后要记得点击项目的Maven,选择Update; 然后就会刷新,或者直接重启Eclipse也行
- 之后勾选上之后可以点击下面的超链接设置contentPath;然后就成功创建了项目
这里可能是IDEA还没有立刻引入依赖,这里可以通过
右键pom.xml----> 选择Maven---> Reimport
这样就可以刷新,重新导入,解决依赖不识别的问题
导入module点击右上角的图标【project structure】 ,进入之后点击module,点击 + 号,就可以导入一个磁盘中的maven项目;选择import,选择maven,JDK选择电脑上的JDK,finish就可
依赖范围junit junit 4.11 test
使用scope表示的,scope的值有compile,test,provided ; scope表示的是依赖使用的范围;在maven构建项目的哪些阶段起作用
maven构建项目的过程有清理、编译、测试、打包、安装、部署等阶段
- test : 说明这些代码只是在测试阶段起作用 【也就是在代码的编译的时候是不会用到junit的】
- compile: 说明这些代码在整个过程中都会用到【全部生命周期,默认】,包括打包和部署
- provide: 提供者;这些代码只是在前面的几个阶段,就是编译和测试的时候使用,但是在打包和安装部署不需要,比如servlet、jsp等jar包在tomcat中都提供了的
所以以后使用框架等,直接就使用maven工具加载依赖就可以了,就不需要像之前下各种文件
maven的属性设置就是pom.xml中的properties标签中设置属性
- project.build.sourceEncoding : maven构建项目使用的编码,避免中文乱码
- maven.compiler.source : 编译代码使用的JDK版本
- maven.compiler.target : 运行程序使用的jdk版本
自定义的属性 : 在properties中通过自定义标签声明变量【标签名就是变量名】
在pom.xml中的其他位置就可以使用${标签名} 使用整个变量【和jsp的el的简化格式同】
5.2.1 ${spring.version}
为什么要使用?
如果项目要使用多个相同的版本号,就可以先自定义全局变量,之后就可以使用${}来运用这个版本号;比如Spring框架中就有很多的插件【所以就使用一个全局变量来设置版本号】便于统一管理
这个资源插件和其他的插件相同,都是在build标签中
src/main/java 热门相关搜索路由器设置 木托盘 宝塔面板 儿童python教程 心情低落 朋友圈 vim 双一流学科 专升本 我的学校 日记学校 西点培训学校 汽修学校 情书 化妆学校 塔沟武校 异形模板 西南大学排名 最精辟人生短句 6步教你追回被骗的钱 南昌大学排名 清朝十二帝 北京印刷学院排名 北方工业大学排名 北京航空航天大学排名 首都经济贸易大学排名 中国传媒大学排名 首都师范大学排名 中国地质大学(北京)排名 北京信息科技大学排名 中央民族大学排名 北京舞蹈学院排名 北京电影学院排名 中国戏曲学院排名 河北政法职业学院排名 河北经贸大学排名 天津中德应用技术大学排名 天津医学高等专科学校排名 天津美术学院排名 天津音乐学院排名 天津工业大学排名 北京工业大学耿丹学院排名 北京警察学院排名 天津科技大学排名 北京邮电大学(宏福校区)排名 北京网络职业学院排名 北京大学医学部排名 河北科技大学排名 河北地质大学排名 河北体育学院排名



