当前位置: 首页 > news >正文

金华企业自助建站系统整站多关键词优化

金华企业自助建站系统,整站多关键词优化,域名注册免费,近期新闻热点事件简短文章目录 1. Maven概述2. Maven的下载与安装2.1 下载2.2 安装 3. Maven仓库配置3.1 修改本地仓库配置3.2 修改远程仓库配置3.3 修改后的settings.xml 4. 使用Maven创建项目4.1 手工创建Java项目4.2 原型创建Java项目4.3 原型创建Web项目 5. Tomcat启动Web项目5.1 使用Tomcat插件… 文章目录 1. Maven概述2. Maven的下载与安装2.1 下载2.2 安装 3. Maven仓库配置3.1 修改本地仓库配置3.2 修改远程仓库配置3.3 修改后的settings.xml 4. 使用Maven创建项目4.1 手工创建Java项目4.2 原型创建Java项目4.3 原型创建Web项目 5. Tomcat启动Web项目5.1 使用Tomcat插件启动项目5.2 本地安装Tomcat启动项目5.2.1 下载并安装Tomcat5.2.2 本地Tomcat启动项目 6. Maven的依赖管理6.1 依赖配置6.2 依赖传递6.2.1 依赖传递演示6.2.2 依赖传递冲突 6.3 可选依赖6.4 排除依赖6.5 依赖范围 7. 生命周期与插件7.1 构建生命周期7.2 插件 1. Maven概述 1.Maven简介maven是一个项目管理工具将项目开发和管理过程抽象成一个项目对象模型POM。 注POMProject Object Model项目对象模型 maven管理项目流程如下 2.Maven的作用 项目构建提供标准的、跨平台的自动化项目构建方式依赖管理方便快捷的管理项目依赖的资源jar包避免资源间的版本冲突问题统一开发结构提供标准的、统一的项目结构 3.Maven仓库 仓库用于存储资源 包含各种jar包仓库分类 本地仓库自己电脑上存储资源的仓库连接远程仓库获取资源远程仓库非本机电脑上的仓库为本地仓库提供资源 中央仓库Maven团队维护 存储所有资源的仓库私服部门/公司范围内存储资源的仓库从中央仓库获取资源 私服的作用 保存具有版权的资源 包含购买或自主研发的jar中央仓库中的jar都是开源的 不能存储具有版权的资源一定范围内共享资源仅对内部开放不对外共享 4.Maven坐标 坐标概念Maven中的坐标用于描述仓库中资源的位置坐标的主要组成 groupId组织id定义当前Maven项目隶属组织名称(通常是域名反写 例如org.mybatis)artifactld项目id定义当前Maven项目名称(通常是模块名称 例如CRM、SMS)version版本号定义当前项目版本号 坐标的作用使用唯一标识唯一性定位资源位置通过该标识可以将资源的识别与下载工作交由机器完成 2. Maven的下载与安装 2.1 下载 官网下载 最新版本https://maven.apache.org/download.cgi历史版本https://archive.apache.org/dist/maven/maven-3/ 最新版本 历史版本 2.2 安装 此处下载得到最新的 apache-maven-3.9.3-bin.zip 安装包放在任意一个文件夹下右键解压到当前文件夹。 此处我解压到 E:\Applications\apache-maven-3.9.3 配置环境变量 1.新建 MAVEN_HOME 环境变量变量值为maven安装路径 变量名MAVEN_HOME变量值E:\Applications\apache-maven-3.9.3 2.修改 Path 变量 在 系统变量 中选中 Path 变量后点击 “编辑” 按钮随后点击“新建”输入 %MAVEN_HOME%\bin 即可 3.输入命令测试是否安装成功 mvn -v出现以下界面表示安装成功 3. Maven仓库配置 3.1 修改本地仓库配置 本地仓库maven启动后会自动保存下载的资源到本地仓库 默认位置登录用户名所在目录的.m2文件夹中如 C:\Users\Admin\.m2\repository默认保存到C盘 localRepository${user.name}\.m2\repository/localRepository自定义位置修改本地仓库位置为指定路径如 D:\repository localRepositoryD:\repository/localRepository由于默认保存到C盘所以要修改本地仓库配置步骤如下 1.找到安装包的conf文件夹下的settings.xml文件使用 vscode 或者其他工具打开它 2.CtrlF搜索 localRepository复制刚刚的自定义配置到这里即可 3.2 修改远程仓库配置 远程仓库为本地仓库提供资源的仓库资源从远程仓库下载到本地仓库。 1.默认远程仓库 repositoriesrepositoryidcentral/idnameCentral Repository/nameurlhttps://repo.maven.apache.org/maven2/urllayoutdefault/layoutsnapshotsenabledfalse/enabled/snapshots/repository /repositories2.镜像远程仓库 镜像仓库配置 id镜像的唯一标识用来区分不同的mirror元素mirrorOf对哪个仓库进行镜像简单来说就是替代哪个仓库此处填为central也就是替代了默认远程仓库name镜像名称url镜像URL 修改镜像仓库地址修改镜像仓库地址是为了加快下载速度此处修改为阿里云镜像远程仓库的地址从国外转到了国内下载速度自然就快了 mirrorsmirroridnexus-aliyun/idmirrorOfcentral/mirrorOfnameNexus aliyun/nameurlhttp://maven.aliyun.com/nexus/content/groups/public/url/mirror /mirrors依然还是修改E:\Applications\apache-maven-3.9.3\conf文件夹下的settings.xml文件 3.3 修改后的settings.xml ?xml version1.0 encodingUTF-8? settings xmlnshttp://maven.apache.org/SETTINGS/1.2.0xmlns:xsihttp://www.w3.org/2001/XMLSchema-instancexsi:schemaLocationhttp://maven.apache.org/SETTINGS/1.2.0 https://maven.apache.org/xsd/settings-1.2.0.xsdlocalRepositoryD:\repository/localRepositorymirrorsmirroridnexus-aliyun/idmirrorOfcentral/mirrorOfnameNexus aliyun/nameurlhttp://maven.aliyun.com/nexus/content/groups/public/url/mirror/mirrors /settings4. 使用Maven创建项目 Maven工程的目录结构如下左边是Java项目右边是Web项目。 可以发现Web项目就是比Java项目多了个webapp目录 4.1 手工创建Java项目 由于 Idea 创建的maven一开始是没有 settings.xml 的所以每次创建新 maven工程的时候会使用默认的 settings.xml配置也就是使用默认的本地仓库地址和远程仓库地地址。 默认本地仓库地址${user.name}\.m2\repository默认远程仓库地址https://repo.maven.apache.org/maven2 前置工作将上述修改好的 apache-maven-3.9.3\conf\settings.xml文件复制到${user.name}\.m2\repository文件夹下则每次创建新 maven项目会默认使用该配置可以解决刚启动项目时下载jar包速度慢的问题。 1.New Project创建新项目 2.填写项目名称等信息Build System勾选Maven 手工创建Java项目得到的Maven工程结构如下 3.修改项目的maven配置打开 Settings并在搜索框输入maven修改以下内容即可 注每次创建或导入一个maven项目的时候maven配置都会使用默认配置因此每次都需要重新修改它的maven配置 4.2 原型创建Java项目 ArcheType选择org.apache.maven.archetypes:maven-archetype-quickstart就能使用原型创建Java工程项目 注使用原型创建maven项目的方式会下载一些jar包所以项目构建需要等待一段时间。 使用原型创建Java项目得到的Maven工程结构如下 4.3 原型创建Web项目 ArcheType选择org.apache.maven.archetypes:maven-archetype-webapp就能使用原型创建 Web工程项目 注使用原型创建maven项目的方式会下载一些jar包所以项目构建需要等待一段时间。 使用原型创建Web项目得到的Maven工程结构如下 以该Web项目为例由于其结构缺失需要手动补充文件夹使其称为完整的Web项目工程 main目录下新建java目录并将其标记为 Sources Rootsrc目录下新建test目录并在test目录下新建java和resources标记test目录下的java为 Test Sources Rootresources为Test Resources Root 最终Web项目结构如下 5. Tomcat启动Web项目 5.1 使用Tomcat插件启动项目 mvnrepository官网地址https://mvnrepository.com/ 1.搜索框中输入tomcat maven点击Search进行搜索找到 Apache Tomcat Maven Plugin :: Common API然后点击org.apache.tomcat.maven链接进入 注意是点击org.apache.tomcat.maven蓝色链接而不是点击 Apache Tomcat Maven Plugin :: Common API黑体字点击黑体字进去的链接是找不到 tomcat 插件的 2.Apache Tomcat Maven Plugin :: Tomcat 7.x点击链接进入继续选择一个版本点击进入 3.得到了Tomcat7插件的 groupId、artifactId、version并复制到pom.xml中就完成了插件的安装 4.最终得到pom.xml内容如下 project xmlnshttp://maven.apache.org/POM/4.0.0 xmlns:xsihttp://www.w3.org/2001/XMLSchema-instancexsi:schemaLocationhttp://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsdmodelVersion4.0.0/modelVersiongroupIdcom.example/groupIdartifactIdmaven-project/artifactIdpackagingwar/packaging !--打包方式为war包--version1.0-SNAPSHOT/versionnamemaven-project Maven Webapp/nameurlhttp://maven.apache.org/url!--构建项目需要的信息--build!--插件列表--plugins!--安装tomcat7插件--plugingroupIdorg.apache.tomcat.maven/groupIdartifactIdtomcat7-maven-plugin/artifactIdversion2.2/version/plugin/plugins/build/project 5.打开maven侧边栏找到tomcat7插件点击tomcat7:run启动tomcat服务器 6.运行后会在末尾出显示一个链接就是本地项目的地址点击该链接即可查看web项目。 点击 http://localhost:8080/maven-project弹出页面如下 之所以页面会显示Hello World!是因为使用原型创建web项目时自动创建了一个index.jsp内容如下 注如果不想使用默认的8080端口和默认路径可以进行以下配置修改 !--构建项目需要的信息-- build!--插件列表--plugins!--安装tomcat7插件--plugingroupIdorg.apache.tomcat.maven/groupIdartifactIdtomcat7-maven-plugin/artifactIdversion2.2/version!--配置端口号和路径--configurationport80/portpath//path/configuration/plugin/plugins /build再次启动 tomcat访问以下地址即可http://localhost:80/ 另外还可以进行如下配置操作用于简化tomcat服务器的启动 idea右上角Current File 下拉框选择 Edit Configurations 点击 号选择 Maven 填写配置名称、命令行以及选择应用到哪个工程 以后就可以使用如下方式启动tomcat服务器了 5.2 本地安装Tomcat启动项目 5.2.1 下载并安装Tomcat 1.下载 tomcat此处以tomcat9为例 官网地址https://tomcat.apache.org/ 点击左边栏Download下的Tomcat9 点击 64-bit Windows zip (pgp, sha512)链接进行下载得到apache-tomcat-9.0.78-windows-x64.zip压缩包 2.安装 tomcat把压缩包放到任意一个文件夹下解压选择解压到当前文件夹即可安装成功 此处我解压到 E:\Applications\apache-tomcat-9.0.78 3.配置tomcat环境变量 新建一个变量如下 变量名CATALINA_HOME变量值E:\Applications\apache-tomcat-9.0.78 修改path变量新增 %CATALINA_HOME%\bin 4.验证是否配置成功打开cmd输入 startup.bat回车 注执行这步之前先检查其他地方是否关闭了tomcat否则会出现端口号8080占用的情况导致启动失败如检查Idea中是否停止运行了tomcat插件 启动完成后打开浏览器输入 http://localhost:8080出现如图所示说明安装配置成功了 注上述运行 startup.bat脚本时出现的乱码问题可以通过修改 apache-tomcat-9.0.78\conf\logging.properties解决 打开logging.properties文件搜索 java.util.logging.ConsoleHandler.encoding UTF-8把 UTF-8改为GBK即可 java.util.logging.ConsoleHandler.encoding GBK此时再重启 startup.bat脚本就没有了乱码问题 5.2.2 本地Tomcat启动项目 本地tomcat安装配置完成后再进行以下三步即可启动web项目 打包war包把war包放到 webapps 目录下启动 startup.bat 脚本 1.打包war包打开maven侧边栏找到 Lifecycle并点击 package等待构建完成会在target文件夹下生成一个war包此处为maven-project-1.0-SNAPSHOT.war 2.将 maven-project-1.0-SNAPSHOT.war 放到 apache-tomcat-9.0.78\webapps文件夹下 3.启动 startup.bat脚本启动完成后在浏览器输入项目地址即可查看web项目 项目地址组成 http://localhost:8080/后面再加上war包名称 以我刚刚运行的项目为例地址就是 http://localhost:8080/maven-project-1.0-SNAPSHOT 6. Maven的依赖管理 6.1 依赖配置 依赖指的是当前项目运行所需的jar包一个项目可以设置多个依赖 !-- 设置当前项目所依赖的所有jar -- dependencies!-- 设置具体的依赖 --dependencygroupIdjunit/groupId !-- 依赖所属群组id --artifactIdjunit/artifactId !-- 依赖所属项目id --version3.8.1/version !-- 依赖版本号 --/dependency /dependencies6.2 依赖传递 6.2.1 依赖传递演示 依赖具有传递性 直接依赖在当前项目中通过依赖配置建立的依赖关系间接依赖被依赖具的资源如果依赖其他资源当前项目间接依赖其他资源 1.创建一个空项目maven-project然后在项目下面创建三个模块分别取名project01、project02、project03 创建空工程 创建三个模块右键 maven-project - New - Module 最终得到项目结构如下 2.对三个模块的pom.xml进行以下修改 project01、project02、project03中分别添加 log4j 的 1.2.12、1.2.13、1.2.14 的版本依赖project01中添加junit 4.12版本的依赖把project03作为依赖资源添加到project02中 注如果当前项目想使用另一个项目的东西那么就把另一个项目作为依赖资源添加到当前项目中 project01的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.xsdmodelVersion4.0.0/modelVersion!--project01的项目坐标--groupIdcom.example/groupIdartifactIdproject01/artifactIdversion1.0-SNAPSHOT/versiondependencies!--添加log4j依赖--dependencygroupIdlog4j/groupIdartifactIdlog4j/artifactIdversion1.2.12/version/dependency!--添加junit依赖--dependencygroupIdjunit/groupIdartifactIdjunit/artifactIdversion4.12/version/dependency/dependencies/projectproject02的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.xsdmodelVersion4.0.0/modelVersion!--project02的项目坐标--groupIdcom.example/groupIdartifactIdproject02/artifactIdversion1.0-SNAPSHOT/versiondependencies!--添加log4j依赖--dependencygroupIdlog4j/groupIdartifactIdlog4j/artifactIdversion1.2.13/version/dependency!--添加project03依赖--dependencygroupIdcom.example/groupIdartifactIdproject03/artifactIdversion1.0-SNAPSHOT/version/dependency/dependencies/projectproject03的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.xsdmodelVersion4.0.0/modelVersion!--project03的项目坐标--groupIdcom.example/groupIdartifactIdproject03/artifactIdversion1.0-SNAPSHOT/versiondependencies!--添加log4j依赖--dependencygroupIdlog4j/groupIdartifactIdlog4j/artifactIdversion1.2.14/version/dependency/dependencies/project3.以上配置完成后点击Maven的刷新按钮可以看到最终依赖的结构如下 使用红色框圈中的依赖jar包为直接依赖使用紫色框圈中的依赖jar包为间接依赖 解释 1.对于project01项目而言直接依赖了log4j:log4j:1.2.12和junit:junit:4.12间接依赖了 org:hamcrest:hamcrest-core:1.3 2.对于project02项目而言直接依赖了log4j:log4j:1.2.13和com.example:project03:1.0-SNAPSHOT间接依赖了log4j:log4j:1.2.14 3.对于project03项目而言直接依赖了log4j:log4j:1.2.14 6.2.2 依赖传递冲突 依赖传递冲突问题 路径优先当依赖中出现相同资源时层级越深优先级越低反之优先级越高。声明优先当资源在相同层级被依赖时配置顺序靠前的覆盖顺序靠后的。 特殊优先当同级配置了相同资源的不同版本后配置的覆盖先配置的 1.路径优先当依赖中出现相同资源时层级越深优先级越低反之优先级越高。 此处project02项目中同时依赖了log4j的1.2.13和1.2.14版本由于1.2.13是直接依赖层级更浅优先级更高所以最终使用的是1.2.13的版本依赖。 注idea中log4j的1.2.14版本依赖颜色显示灰色表示它未生效。 2.声明优先当资源在相同层级被依赖时配置顺序靠前的覆盖顺序靠后的。 对 project01、project02、project033个模块项目的pom.xml进行以下修改 project01的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.xsdmodelVersion4.0.0/modelVersion!--project01的项目坐标--groupIdcom.example/groupIdartifactIdproject01/artifactIdversion1.0-SNAPSHOT/versiondependencies!--添加project03依赖--dependencygroupIdcom.example/groupIdartifactIdproject03/artifactIdversion1.0-SNAPSHOT/version/dependency!--添加project02依赖--dependencygroupIdcom.example/groupIdartifactIdproject02/artifactIdversion1.0-SNAPSHOT/version/dependency/dependencies/projectproject02的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.xsdmodelVersion4.0.0/modelVersion!--project02的项目坐标--groupIdcom.example/groupIdartifactIdproject02/artifactIdversion1.0-SNAPSHOT/versiondependencies!--添加log4j依赖--dependencygroupIdlog4j/groupIdartifactIdlog4j/artifactIdversion1.2.13/version/dependency/dependencies/projectproject03的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.xsdmodelVersion4.0.0/modelVersion!--project03的项目坐标--groupIdcom.example/groupIdartifactIdproject03/artifactIdversion1.0-SNAPSHOT/versiondependencies!--添加log4j依赖--dependencygroupIdlog4j/groupIdartifactIdlog4j/artifactIdversion1.2.14/version/dependency/dependencies/project最终的依赖结构如下在project01 的pom.xml中先添加了project03的依赖后添加了project02的依赖它们的log4j依赖在同一个层级由于project03先添加所以project03的log4j 1.2.14依赖生效了。 3.特殊优先当同级配置了相同资源的不同版本后配置的覆盖先配置的 对project02的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.xsdmodelVersion4.0.0/modelVersion!--project02的项目坐标--groupIdcom.example/groupIdartifactIdproject02/artifactIdversion1.0-SNAPSHOT/versiondependencies!--添加log4j依赖1.2.13版本--dependencygroupIdlog4j/groupIdartifactIdlog4j/artifactIdversion1.2.13/version/dependency!--添加log4j依赖1.2.14版本--dependencygroupIdlog4j/groupIdartifactIdlog4j/artifactIdversion1.2.14/version/dependency/dependencies/project同一个pom.xml里写了两份一样的依赖后配置的依赖覆盖前面的所以此处最终是1.2.14版本的log4j生效。 6.3 可选依赖 可选依赖指对外隐藏当前所依赖的资源不透明 也就是说其他使用该依赖资源的人不知道使用了它因为该依赖资源被隐藏了 依赖中添加optional配置为true即可隐藏依赖 dependencygroupIdjunit/groupIdartifactIdjunit/artifactIdversion4.12/versionoptionaltrue/optional !--隐藏依赖-- /dependency演示原始的project01和project02的pom.xml配置如下 project01的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.xsdmodelVersion4.0.0/modelVersion!--project01的项目坐标--groupIdcom.example/groupIdartifactIdproject01/artifactIdversion1.0-SNAPSHOT/versiondependencies!--添加project02依赖--dependencygroupIdcom.example/groupIdartifactIdproject02/artifactIdversion1.0-SNAPSHOT/version/dependency/dependencies/projectproject02的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.xsdmodelVersion4.0.0/modelVersion!--project02的项目坐标--groupIdcom.example/groupIdartifactIdproject02/artifactIdversion1.0-SNAPSHOT/versiondependencies!--添加junit依赖--dependencygroupIdjunit/groupIdartifactIdjunit/artifactIdversion4.12/version/dependency/dependencies/project此时能看见junit依赖 然后修改project02的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.xsdmodelVersion4.0.0/modelVersion!--project02的项目坐标--groupIdcom.example/groupIdartifactIdproject02/artifactIdversion1.0-SNAPSHOT/versiondependencies!--添加junit依赖--dependencygroupIdjunit/groupIdartifactIdjunit/artifactIdversion4.12/versionoptionaltrue/optional !--隐藏依赖--/dependency/dependencies/project点击刷新按钮后发现junit依赖不见了被隐藏了 6.4 排除依赖 排除依赖指主动断开依赖的资源被排除的资源无需指定版本不需要 也就是说自己不需要使用别人的依赖资源主动排除了它 依赖中添加exclusion并指定groupId 和 artifactId即可排除依赖 dependencygroupIdjunit/groupIdartifactIdjunit/artifactIdversion4.12/versionexclusions!--排除依赖--exclusiongroupIdorg.hamcrest/groupIdartifactIdhamcrest-core/artifactId/exclusion/exclusions /dependency演示修改project01和project02的pom.xml配置为以下 project01的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.xsdmodelVersion4.0.0/modelVersion!--project01的项目坐标--groupIdcom.example/groupIdartifactIdproject01/artifactIdversion1.0-SNAPSHOT/versiondependencies!--添加project02依赖--dependencygroupIdcom.example/groupIdartifactIdproject02/artifactIdversion1.0-SNAPSHOT/version/dependency/dependencies/projectproject02的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.xsdmodelVersion4.0.0/modelVersion!--project02的项目坐标--groupIdcom.example/groupIdartifactIdproject02/artifactIdversion1.0-SNAPSHOT/versiondependencies!--添加junit依赖--dependencygroupIdjunit/groupIdartifactIdjunit/artifactIdversion4.12/version/dependency/dependencies/project此时能看见junit中还依赖了org.hamcrest:hamcrest-core:1.3 然后修改project02的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.xsdmodelVersion4.0.0/modelVersion!--project02的项目坐标--groupIdcom.example/groupIdartifactIdproject02/artifactIdversion1.0-SNAPSHOT/versiondependencies!--添加junit依赖--dependencygroupIdjunit/groupIdartifactIdjunit/artifactIdversion4.12/versionexclusions!--排除依赖--exclusiongroupIdorg.hamcrest/groupIdartifactIdhamcrest-core/artifactId/exclusion/exclusions/dependency/dependencies/project 点击刷新按钮后发现org.hamcrest:hamcrest-core:1.3依赖不见了被排除了 6.5 依赖范围 依赖范围依赖的jar包默认情况下可以在任何地方使用可以通过scope标签设定其作用范围。 作用范围 主程序范围内有效main文件夹范围内测试程序范围内有效test文件夹范围内是否参与打包package指令范围内 范围主代码测试代码打包例子compile√√√log4jtest√junitprovided√√servlet-apiruntime√jdbc dependencygroupIdjunit/groupIdartifactIdjunit/artifactIdversion4.12/versionscopetest/scope !--测试范围-- /dependency注带有依赖范围的资源在进行传递时作用范围将受到影响 7. 生命周期与插件 maven项目构建命令如下 # 编译 mvn compile# 清理 mvn clean # 测试 mvn test # 打包 mvn package # 安装到本地仓库 mvn install 这些maven项目构建命令在Idea中对应的位置如下 7.1 构建生命周期 一个典型的 Maven 构建build生命周期是由以下几个阶段的序列组成的 阶段处理描述validate验证项目验证项目是否正确且所有必须信息是可用的compile执行编译源代码编译在此阶段完成test测试使用适当的单元测试框架例如junit运行测试package打包创建 jar/war 包如在 pom.xml 中定义提及的包verify检查对集成测试的结果进行检查以保证质量达标install安装安装打包的项目到本地仓库以供其他项目使用deploy部署拷贝最终的工程包到远程仓库中以共享给其他开发人员和工程 Maven 有以下三个标准的生命周期 clean项目清理的处理清理工作default项目部署的处理核心工作例如编译、测试、打包、部署等site项目站点文档创建的处理产生报告发布站点 1.clean 生命周期 生命周期阶段描述pre-clean执行一些需要在clean之前完成的工作clean移除所有上一次构建生成的文件post-clean执行一些需要在clean之后立刻完成的工作 2.default (build) 生命周期 生命周期阶段描述validate校验校验项目是否正确并且所有必要的信息可以完成项目的构建过程initialize初始化初始化构建状态比如设置属性值generate-sources生成源代码生成包含在编译阶段中的任何源代码process-sources处理源代码处理源代码比如说过滤任意值generate-resources生成资源文件生成将会包含在项目包中的资源文件process-resources 处理资源文件复制和处理资源到目标目录为打包阶段最好准备compile编译编译项目的源代码process-classes处理类文件处理编译生成的文件比如说对Java class文件做字节码改善优化generate-test-sources生成测试源代码生成包含在编译阶段中的任何测试源代码process-test-sources处理测试源代码处理测试源代码比如说过滤任意值generate-test-resources生成测试资源文件为测试创建资源文件process-test-resources处理测试资源文件复制和处理测试资源到目标目录test-compile编译测试源码编译测试源代码到测试目标目录process-test-classes处理测试类文件处理测试源码编译生成的文件test测试使用合适的单元测试框架运行测试Juint是其中之一prepare-package准备打包在实际打包之前执行任何的必要的操作为打包做准备package打包将编译后的代码打包成可分发格式的文件比如JAR、WAR或者EAR文件pre-integration-test集成测试前在执行集成测试前进行必要的动作比如说搭建需要的环境integration-test集成测试处理和部署项目到可以运行集成测试环境中post-integration-test集成测试后在执行集成测试完成后进行必要的动作。比如说清理集成测试环境verify 验证运行任意的检查来验证项目包有效且达到质量标准install安装安装项目包到本地仓库这样项目包可以用作其他本地项目的依赖deploy部署将最终的项目包复制到远程仓库中与其他开发者和项目共享 3.site 生命周期 生命周期阶段描述pre-site执行一些需要在生成站点文档之前完成的工作site生成项目的站点文档post-site执行一些需要在生成站点文档之后完成的工作并且为部署做准备site-deploy将生成的站点文档部署到特定的服务器上 7.2 插件 插件每个生命周期中都包含着一系列的阶段(phase)这些 phase 就相当于 Maven 提供的统一的接口然后这些 phase 的实现由 Maven 的插件来完成。 插件与生命周期内的阶段绑定在执行到对应生命周期时执行对应的插件功能默认maven在各个生命周期上绑定有预设的功能通过插件可以自定义其他功能 我们在输入 mvn 命令的时候 比如 mvn cleanclean 对应的就是 Clean 生命周期中的 clean 阶段但是 clean 的具体操作是由 maven-clean-plugin 来实现的所以说 Maven 生命周期的每一个阶段的具体实现都是由 Maven 插件实现的。 插件类型 类型描述Build plugins在构建时执行并在 pom.xml 的 元素中配置Reporting plugins在网站生成过程中执行并在 pom.xml 的 元素中配置 常用插件的列表 插件描述clean构建之后清理目标文件删除目标目录compiler编译 java 源文件surefile运行 junit单元测试创建测试报告jar从当前工程中构建 jar 文件war从当前工程中构建 war 文件javadoc为工程生成 javadocantrun从构建过程的任意一个阶段中运行一个 ant 任务的集合 插件示例 buildplugins!--生成源代码的插件--plugingroupIdorg.apache.maven.plugins/groupIdartifactIdmaven-source-plugin/artifactIdversion3.2.1/versionexecutionsexecutiongoalsgoaljar/goal/goalsphasegenerate-test-resources/phase !--到生成测试源代码阶段执行该插件--/execution/executions/plugin/plugins /build点击刷新后可以发现 Plugins下多了个 source插件就是刚刚添加 maven-source-plugin插件 测试插件是否有效由于generate-test-resources阶段在test阶段之前也就是说执行到test阶段也必然执行了generate-test-resources阶段所以我们点击 Lifecycle下的test按钮使项目执行到test阶段。 可以看到左侧生成了一个源码的jar包打开该jar包就能查看项目的源码。
http://www.pierceye.com/news/730244/

相关文章:

  • 伊滨区网站建设网站建设经理
  • 权威的郑州网站建设域名租用平台
  • 造价工程师网网站点击排名优化
  • 网站关键词搜索海口网站建设优化公司
  • WordPress建影视站免费的素材网站有哪些
  • 屯留做网站哪里好阿里云服务器618
  • 网站怎么做登录模块免费的编程软件下载
  • 网站建设与管理的策划书网站建设五合一
  • 网站建设管理分工公司招聘网站有哪些
  • 分类信息网站手机版上海网站关键词优化方法
  • 建设个人网站的参考网站及文献怎么做水果网站
  • 台山住房和城乡建设 网站有赞分销
  • 网站备案 历史wordpress货币插件
  • 如何做自助搜券网站佛山顺德专业做网站
  • 义乌网站制作多少钱工会网站建设
  • 六安高端网站建设公司开网店的流程步骤
  • 网站被墙301怎么做展馆展厅设计效果图
  • 唐山市城市建设规划局网站大兴做网站公司
  • 陕西做网站的公司地址克拉玛依市住房和建设局网站
  • 做电影网站 广告收入怎么知道网站被k
  • 开发企业网站费用深圳宝安seo
  • 算命公司网站建设制作开发方案教育培训机构招生网站建设
  • 织梦做网站被告全椒网站建设
  • 安卓网站开发平台互联网工具型网站
  • 如何建设国外的网站联盟营销网站有哪些
  • 微信怎么创建微信公众号seo应该如何做
  • 北京php网站制作网站群建设思路
  • 企业建设网站的必要性小程序平台介绍怎么写
  • 网站界面设计应该遵循的原则贵州省住房和城乡建设厅网站报名网
  • 南昌建设医院官方网站国外做外链常用的网站