网站建设维护多少钱,网站建设 赛门仕博,小米手机优化,wordpress可以干什么一、Maven简介
1.1 在项目中如何导入jar包#xff1f;
下载jar包 #xff08;mvn#xff09;将下载的jar包拷贝到项目中#xff08;WEB-INF/lib#xff09;选择jar文件–右键–Add as Library
1.2 传统导入jar包的方式存在什么问题#xff1f;
步骤多#xff08;相对…一、Maven简介
1.1 在项目中如何导入jar包
下载jar包 mvn将下载的jar包拷贝到项目中WEB-INF/lib选择jar文件–右键–Add as Library
1.2 传统导入jar包的方式存在什么问题
步骤多相对——繁琐在不同的项目中如果需要相同的jar包需要分别存储这个jar文件——冗余、项目体积大在不同的环境下可能因为jar文件版本不一致导致项目无法运行重新配置——移植性差
1.3 项目生命周期 项目从编译到运行的整个过程 完整的生命周期清理缓存—校验—编译—测试—打包—安装—部署 IDEA提供了一键构建项目的功能但是如果我们需要自定义的生命周期管理却没有现成的工具清理缓存
1.4 Maven简介 Maven是一个基于项目对象模型POM用于进行项目的依赖管理、生命周期管理的工具软件 核心功能 依赖管理 生命周期管理 聚合工程
二、Maven安装及配置
2.1 Maven下载
http://maven.apache.org/download.cgi
2.2 Maven安装 Maven是基于Java语言进行开发的因此依赖JDK建议JDK1.7 开箱即用直接解压即可 解压d:/mvn目录结构 bin 存放指令文件Maven提供了一个mvn指令boot 包含了一个类加载框架的jar文件conf 包含了Maven的核心配置文件settings.xmllib 存放了maven运行所需的jar文件
2.3 配置环境变量 MAVEN_HOME D:\mvn\apache-maven-3.6.3 Path 增加 %MAVEN_HOME%\bin
测试[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-czWP5lwp-1639493922539)(imgs/1615948601495.png)]
三、Maven的项目结构 使用Maven进行项目还有一个好处无论使用什么样 的开发工具eclipse/idea项目的结构是统一的。 3.1 Maven的项目结构
fmwy(项目名称)
--src--main (存放项目的源文件)--java (存放java代码相当于传统项目中的src目录)--resources (存放配置文件和静态资源的目录相当于传统项目的web目录)--test (存放项目的单元测试代码)--java测试代码
--pom.xml3.2 pom.xml POM Project Object ModelMaven可以根据pom文件的配置对此项目进行依赖管理也就是说项目中需要依赖直接在pom.xml进行配置即可 ?xml version1.0 encodingutf-8?
project xmlnshttp://maven.apache.org/POM/4.0.0xmlns:xsihttp://www.w3.org/2001/XMLSchema-instancexsi:schemaLocationhttp://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd!--指定项目模型版本--modelVersion4.0.0/modelVersion!--指定项目的标识G 企业标识 A 项目标识 V 版本--groupIdcom.qfedu/groupIdartifactIdfmwy/artifactIdversion1.0.0/version!--配置当前项目的依赖--dependencies/dependencies
/project如果需要在当前项目中添加依赖只需在pom.xml文件中进行依赖配置即可 配置依赖 找到依赖的坐标添加dependencies标签即可
!-- https://mvnrepository.com/artifact/mysql/mysql-connector-java --
dependencygroupIdmysql/groupIdartifactIdmysql-connector-java/artifactIdversion5.1.47/version
/dependency四、依赖管理
4.1 Maven依赖管理的流程
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-4getFT2I-1639493922540)(imgs/1615952656309.png)]
4.2 Maven仓库介绍
本地仓库 就是本地计算机上的某个文件夹可以是自定义的任何文件夹远程仓库 就是远程主机上的jar文件仓库 中央仓库 maven官方提供的仓库包含了所需的一切依赖免配置公共仓库 除了中央仓库以外的第三方仓库都是公共仓库例如aliyun需要配置私服 企业搭建的供内部使用的maven仓库
maven仓库[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-EUsfIjWB-1639493922542)(imgs/1615953762130.png)]
4.3 Maven仓库配置 在maven_home/conf/settings.xml中进行配置 配置本地仓库
localRepositoryd:\repo/localRepository配置公共仓库
mirrorsmirroridnexus-aliyun/idmirrorOfcentral/mirrorOfnameNexus aliyun/nameurlhttp://maven.aliyun.com/nexus/content/groups/public/url/mirror
/mirrors五、项目生命周期管理
5.1 生命周期介绍 项目构建的声明周期项目开发结束之后部署到运行环境运行的过程 清除缓存检查编译测试就会执行maven项目中test目录下的单元测试打包war 、 jar安装 jar会被安装到本地仓库部署 将项目生成的包放到外部服务器中—私服仓库 5.2 生命周期管理指令 在项目的根目录下执行mvn指令此目录下必须包含pom.xml 清除缓存
mvn clean检查
mvn check编译
mvn compile测试
mvn test打包
mvn package安装
mvn install部署
mvn deploye六、基于IDEA的Maven使用
6.1 在IDEA中关联Maven
maven配置[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-deeeiH8r-1639493922543)(imgs/1615963348490.png)][外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-JX37BPXo-1639493922543)(imgs/1615963666386.png)]
说明 IDEA本身集成了Maven考虑到IDEA和Maven版本的兼容性Idea不建议配置比默认版本更新的版本建议使用idea自带的maven。
6.2 使用IDEA创建Maven项目
6.2.1 Java项目
创建Java项目[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-5R9OQfeU-1639493922544)(imgs/1615964274767.png)][外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-v1wQOwiB-1639493922545)(imgs/1615964923674.png)][外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-m4dYghBA-1639493922545)(imgs/1615965081111.png)]
6.2.2 web项目 创建maven项目maven-demo2 在pom.xml文件设置打包方式为war ?xml version1.0 encodingUTF-8?
project xmlnshttp://maven.apache.org/POM/4.0.0xmlns:xsihttp://www.w3.org/2001/XMLSchema-instancexsi:schemaLocationhttp://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsdmodelVersion4.0.0/modelVersiongroupIdcom.qfedu/groupIdartifactIdmaven-demo2/artifactIdversion1.0.0/version!--设置项目打包方式为war--packagingwar/packaging/project完成web项目结构 [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-8WjDxUSM-1639493922547)(imgs/1615966156430.png)] 配置web组件—Tomcat [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-lPE9NhSB-1639493922548)(imgs/1615966233010.png)] [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-1bDLLGSg-1639493922548)(imgs/1615966284891.png)] [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-rZy4Cccd-1639493922549)(imgs/1615966379430.png)] 部署web项目 [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-XnmqI1I6-1639493922550)(imgs/1615966537967.png)] [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ItrjW2wt-1639493922552)(imgs/1615966622390.png)]
6.3 在IDEA中使用Maven进行依赖管理
6.3.1 查找依赖坐标
https://mvnrepository.com/
6.3.2 添加依赖
将依赖的坐标配置到项目的pom.xml文件dependencies标签中
?xml version1.0 encodingUTF-8?
project xmlnshttp://maven.apache.org/POM/4.0.0xmlns:xsihttp://www.w3.org/2001/XMLSchema-instancexsi:schemaLocationhttp://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsdmodelVersion4.0.0/modelVersiongroupIdcom.qfedu/groupIdartifactIdmaven-demo2/artifactIdversion1.0.0/version!--设置项目打包方式为war--packagingwar/packagingdependencies!--在此位置配置项目中所需依赖的坐标 GAV--dependencygroupIdcom.google.code.gson/groupIdartifactIdgson/artifactIdversion2.8.5/version/dependencydependencygroupIdorg.projectlombok/groupIdartifactIdlombok/artifactIdversion1.18.18/versionscopeprovided/scope/dependency/dependencies
/project6.3.3 依赖范围 在通过dependency添加依赖时可以通过scope标签配置当前依赖的适用范围 test 只在项目测试阶段引入当前依赖(编译、测试) dependencygroupIdjunit/groupIdartifactIdjunit/artifactIdversion4.13.2/versionscopetest/scope
/dependencyruntime 只在运行时使用运行、测试运行 provided 在编译、测试、运行 compile 在编译、测试、运行、打包都引入
6.4 在IDEA中使用Maven进行项目构建
6.4.1 Maven项目构建生命周期说明
clean 清理缓存 清理项目生成的缓存validate 校验 验证项目需要是正确的项目信息、依赖compile 编译 编译项目专供的源代码test 测试 运行项目中的单元测试package 打包 将项目编译后的代码打包成发布格式verify 检查 对集成测试的结果进行检查、确保项目的质量是达标的install 安装 将包安装到maven的本地仓库以便在本地的其他项目中可以引用此项目聚合工程deploy 部署 将包安装到私服的仓库以供其他开发人员共享
6.4.2 IDEA进行生命周期管理 可视化 [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-3zlBGV49-1639493922553)(imgs/1615970887716.png)] 终端指令 选择项目名称—右键—Open in Terminal mvn clean
七、私服 企业搭建供内部使用的一个Maven仓库 开发者需要依赖直接从私服下载私服可以实现企业内部依赖的共享当企业开发了一个通用插件jar可以发布到私服可以连接到当前私服的其他开发者就可以共享这个插件了 7.1 私服搭建
我们可以通过专门的Maven仓库管理软件来搭建私服。例如Apache Archiva、Nexus
7.1.1 下载Nexus
官网 https://www.sonatype.com/下载 https://help.sonatype.com/repomanager2/download
7.1.2 解压nexus
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-msbenlmB-1639493922556)(imgs/1615972207503.png)]
7.1.3 安装并运行nexus 进入到nexus-2.14.11-01/bin目录 管理员身份打开cmd命令行执行指令 [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-gk00OGO6-1639493922559)(imgs/1615972590023.png)]
7.1.4 登录Nexus 私服管理器登录地址 http://localhost:8081/nexus [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-w6LzUBsH-1639493922560)(imgs/1615972765110.png)]
私服中仓库类型
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-VFt0wc7V-1639493922561)(imgs/1615972987904.png)]
私服仓库组的配置
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-DbBt9WmM-1639493922562)(imgs/1615973337723.png)]
7.2 配置私服
7.2.1 在maven的settings.xml文件的servers标签中
!--配置连接私服所需的帐号和密码--
server idnexus-public/id !-- nexus的认证id --usernameadmin/username !--nexus中的用户名密码--passwordadmin123/password
/server7.2.2 在maven的settings.xml文件的profiles标签中 repository 和 pluginRepository的 id子标签的值要和上面配置的server 的id子标签的值一致 profile idnexus/id repositories repository idnexus-public/id nameNexus Release Snapshot Repository/name urlhttp://localhost:8081/nexus/content/groups/public//urlreleasesenabledtrue/enabled/releases snapshotsenabledtrue/enabled/snapshots /repository/repositories pluginRepositoriespluginRepository idnexus-public/id urlhttp://localhost:8081/nexus/content/groups/public//urlreleasesenabledtrue/enabled/releases snapshotsenabledtrue/enabled/snapshots /pluginRepository /pluginRepositories
/profile7.2.3 在maven的settings.xml文件的activeProfiles配置激活profile activeProfilesactiveProfilenexus/activeProfile/activeProfilesMaven聚合工程