手机扫码查看
2020javaweb框架之maven概述和仓库了解以及骨架定制
什么是maven?
Maven是⼀个基于项⽬对象模型(POM)的概念的纯java开发的开源的项⽬管理⼯具。
maven下载
http://maven.apache.org/download.cgi
maven安装:
解压后放在纯英文目录下
maven目录结构
bin:含有mvn运行的脚本
boot:含有plexus-classworlds类加载器框架,Maven 使⽤该框架加载⾃⼰的类库
conf:含有settings.xml配置⽂件
lib:含有Maven运⾏时所需要的java类库
maven环境变量
maven依赖java变量,先确保已配置java环境变量,jdk7+。
MAVEN_HOME:maven的安装目录
path:maven目录下的bin目录
maven测试:查看版本号
mvn -v
maven配置:
在maven安装目录的conf目录下settings.xml
maven添加本地仓库
<localRepository>本地仓库目录,如:F:\mavenlibs</localRepository>
添加jdk版本
在已有的 <profiles> 标签下面添加
<profile>
<id>myjdk</id>
<activation>
<activeByDefault>true</activeByDefault>
<jdk>1.8</jdk>
</activation>
<properties>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
<maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion>
</properties>
</profile>

让增加的profile生效
<activeProfiles> <activeProfile>myjdk</activeProfile> </activeProfiles>

maven仓库
在maven术语中,仓库是一个位置 place。
maven仓库是项目中依赖的第三方库,这个库所在的位置叫做仓库。
在 Maven 中,任何⼀个依赖、插件或者项⽬构建的输出,都可以称之为构件。
Maven 仓库能帮助我们存储、管理构件的地⽅。
操作模式:开发⼈员定义简单的配置,描述需要哪些依赖,maven⾃动从仓库中下载依赖(jar)
仓库分类:
maven仓库
|—本地仓库
|—远程仓库
|-------中央仓库
|-------公共库
|-------私服
maven项目优先调用远程仓库,如果远程仓库没有就去中央仓库查找
本地仓库
1.在安装 Maven 后并不会创建,第⼀次执⾏ maven 命令时才创建。
2.Maven 所需要的构件都是直接从本地仓库获取的。
如果本地仓库没有,它会⾸先尝试从远程仓库下载构件⾄本地仓库,然后再使⽤本地仓库的构件。
3.默认情况下,不管Linux还是 Windows,每个⽤户在⾃⼰的⽤户⽬录下都有⼀个路径名为
.m2/respository/ 的本地仓库⽬录。可以在setttings.xml中修改
中央仓库
Maven 中央仓库是由 Maven 社区提供的仓库,
其中包含了绝⼤多数流⾏的开源Java构件。是默认的远程仓库。
https://mvnrepository.com/ 可以搜索需要的依赖的相关信息(仓库搜索服务)
http://repo.maven.apache.org/maven2/ 中央仓库地址
远程仓库
如果 Maven 在中央仓库中也找不到依赖的⽂件,它会停⽌构建过程并输出错误信息到控制台。
为避免这种情况,Maven 提供了远程仓库的概念,它是开发⼈员⾃⼰定制仓库。
⽐如aliyun仓库(http://maven.aliyun.com/nexus/content/groups/public/)
骨架定制
构建webapp项目骨架:
在本地仓库–>org–>apache–>maven–>archetypes–>maven-archetype-webapp–>1.4
找到maven-archetype-webapp-1.4.jar,用解压软件打开,找到pom.xml文件

右键,内部查看器打开
将1.7改成1.8

然后保存关闭
找到WEB-INF下的web.xml配置文件

右键,内部查看器打开,找到Tomcat安装目录,找到\webapps\examples\WEB-INF下的web.xml
复制这段代码

将这段代码替换,这样可以使用EL表达式以及JSTL

最终效果图,然后保存,新建骨架,自动加载了。




发表回复