阳江网站建设网站建设加盟代理

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

阳江网站建设,网站建设加盟代理,学软件开发的学校,网站谷歌排名Maven概念图生命周期目录工程创建测试常用命令COMPILATION ERROR : 不再支持目标选项 5。请使用 7 或更高版本。问题解决pom.xml文件properties配置示例scope配置详解概念图 依赖管理构建项目Maven 的底层核心实现项目的构建和管理必须通过插件完成#xff0c;但插件本身并不包… Maven概念图生命周期目录工程创建测试常用命令COMPILATION ERROR : 不再支持目标选项 5。请使用 7 或更高版本。问题解决pom.xml文件properties配置示例scope配置详解概念图 依赖管理构建项目Maven 的底层核心实现项目的构建和管理必须通过插件完成但插件本身并不包含在其核心程序当中。 生命周期 在 Maven 中它拥有三套标准的生命周期分别为CleanLifeCycle、DefaultLifeCycle 和 SiteLifeCycle 。每一套生命周期互相独立、互不影响。另外每套生命周期包含一系列的构建阶段这些阶段是有顺序的会按照顺序执行即执行后面的阶段会先自动执行前面的阶段。 CleanLifeCycle清理的生命周期DefaultLifeCycle默认的生命周期SiteLifeCycle站点的生命周期 目录 在 Maven 中所有文件的存放目录都有明确的约定。标准目录结构如下 目录名含义项目根/项目目录根pom.xml项目对象模型Project Object ModelMaven项目中的文件src/源代码目录根main/项目主体目录根java源代码目录resources所需资源目录filters资源过滤文件目录assemblyAssembly descriptorsconfig配置文件目录根test/项目测试目录根java测试代码目录resources测试所需资源目录filters测试资源过滤文件目录site与site相关的资源目录target/输出目录根classes项目主体输出目录test-classes项目测试输出目录site项目site输出目录 工程创建 创建的工程分为两类一是Java项目二是Web项目。创建命令如下

  1. Java项目 mvn archetype:generate -DgroupIdJavaProjectPackage -DartifactIdJavaProjectName -DarchetypeArtifactIdmaven-archetype-quickstart2. Web项目 mvn archetype:generate -DgroupIdWebProjectPackage -DartifactIdWebProjectName -DarchetypeArtifactIdmaven-archetype-webapp其中属性含义 -DgroupId包名 -DartifactId: 项目名 -DarchetypeArtifactId: 项目类型 注 一定要按照标准目录结构来构建工程。 测试 我们先使用命令行窗口在桌面上对 Maven 项目进行创建。步骤如下 打开命令行窗口进入桌面输入命令 //1.Java项目 mvn archetype:generate -DgroupIdcn.edu.MavenStudy -DartifactIdMavenJavaProjectTest -DarchetypeArtifactIdmaven-archetype-quickstart//2.Web项目 mvn archetype:generate -DgroupIdcn.edu.MavenStudy -DartifactIdMavenWebProjectTest -DarchetypeArtifactIdmaven-archetype-webapp若是第一次创建需要耐心等待 Maven 下载相应资源到本地仓库上repository 文件。如图 所需的资源如图 再创建Web项目如图 常用命令 命令作用mvn compile编译将源代码编译成字节码文件.classmvn clean清除删除编译的目标文件targetmvn test测试运行test包下的单元测试类其方法名约定为XxxxTestmvn package将项目打包文件存储在项目根目录的target目录中Java项目打包成 jar文件Web项目打包成 war文件mvn install将一个工程打包成 jar文件存储在本地仓库里mvn deploy若有私服打包后上传到私服mvn source:jar源码打包mvn dependency:sources下载 jar包的源代码mvn site查看报告和操作流程 COMPILATION ERROR : 不再支持目标选项 5。请使用 7 或更高版本。 在使用命令过程中遇到了错误如图 原因JDK版本不匹配。 问题解决 首先打开命令行窗口输入命令java -version 查看版本信息。如图 找到 Maven/apache-maven-3.8.6/conf 目录下的 settings.xml 文件进行修改配置 //根据本机JDK版本添加以下配置 profile idjdk-16.0.2/idactivationactiveByDefaulttrue/activeByDefaultjdk16/jdk/activationpropertiesproject.build.sourceEncodingUTF-8/project.build.sourceEncodingmaven.compiler.source16/maven.compiler.sourcemaven.compiler.target16/maven.compiler.targetmaven.compiler.compilerVersion16/maven.compiler.compilerVersion/properties
    /profile如图 再次使用命令成功执行。如图 pom.xml文件 pom.xml为当前Maven项目配置文件定义项目的基本信息用于描述项目的maven坐标依赖关系等。 一般情况下Maven是通过groupId、artifactId、version这三个元素值俗称坐标来检索该构件 然后引入工程。若要引用项目已开发完毕并发布到远程仓库则在pom.xml文件中新建一个dependency节点将本项目的groupId、artifactId、version写入 Maven便会把jar包下载到本地 。接下来简单介绍pom.xml文件。 ?xml version1.0 encodingUTF-8?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/xsd/maven-4.0.0.xsd!– 基本配置 –!– 声明pom文件遵循POM模型的某个版本必不可少且对于Maven2与Maven3只能是4.0.0–modelVersion4.0.0/modelVersion!– 定义当前项目隶属的实际项目组 –groupIdcn.edu.MavenProject/groupId!– 定义当前项目的名称主要区分一个groupId的多个项目 –artifactIdMavenJavaProject/artifactId!– 定义当前项目所处的版本号SNAPSHOT测试版本RELEASE发布版本–version1.0.0-SNAPSHOT/version!– 定义打包的类型默认为jarjarJava项目warWeb项目pom父级项目 –packagingjar/packaging!– 定义pom常量便于在pom中的直接引用 –propertiesdemo.version4.11/demo.version/properties!– 定义构件输出的附属构件有时需要加上classifier才能唯一的确定该构件否则会报错查找不到 –classifier…/classifier!– 定义当前项目的依赖关系 –dependencies!– 每个dependency对应着一个jar包 –dependency!– 坐标信息 –groupIdorg.apache.commons/groupId !– 组织名称 –artifactIdcommons-lang3/artifactId !– jar包名称 –version3.8.1/version !– 版本号 –!– 定义Jar包的使用范围 –scopetest/scope!– 设置指依赖是否可选默认为false –optionalfalse/optional!– 屏蔽依赖关系 –exclusionsexclusiongroupIdorg.slf4j/groupIdartifactIdslf4j-api/artifactId/exclusion/exclusions/dependency/dependencies!– 构建配置 –build!– 构件的文件名默认值为\({artifactId}-\){version} –finalNameProjectName/finalName!– 统一管理插件 –pluginManagement!– 使用插件的列表 –pluginspluginartifactIdmaven-clean-plugin/artifactIdversion3.1.0/version !– 指定构建生命周期的阶段执行插件的配置 –executionsexecution!– 执行目标的标识符用于标识构建过程中的目标或匹配继承过程中需要合并的执行目标 –idexecution-id/id!– 指定目标的构建生命周期阶段默认为目标被绑定到源数据里配置的阶段 –phasepackage/phase!– 配置的执行目标 –goalsgoaldemo-goal/goal/goals!– 配置是否被子POM继承 –inheritedfalse/inherited/execution/executions!– 是否从该插件下载Maven扩展 –extensions/extensions/plugin/plugins/pluginManagement/build!– 分发配置 –!– 执行mvn deploy将项目生成的构件分发到远程Maven仓库分发到远程Maven仓库之后所有能访问该仓库的用户都能使用你的构件。 –distributionManagement !– 项目生成的构件到远程仓库所需的信息 –repository !– 是否设置唯一版本号由时间戳和构建流水号组成 –uniqueVersiontrue/uniqueVersion!– 目标仓库的id –idrepository-id/id !– 目标仓库的名字 –namerepository-name/name!– 目标仓库的网址 –urlfile://\({basedir}/target/deploy/url /repository!-- 测试版仓库 --snapshotRepositoryuniqueVersion/id/ name/ url/ /snapshotRepository /distributionManagement !-- 仓库配置 --!-- 远程仓库列表 --repositories!-- 连接远程仓库的信息 --repository!-- 处理远程仓库 正式发布版本 的下载 --release!-- 是否下载某种类型构件 --enabled/!-- 指定更新的频率 --updatePolicy/!-- Maven验证构件失败的处理 --checksumPolicy//release!-- 处理远程仓库 快照版本 的下载快照是一种特殊的版本指定了某个当前的开发进度的副本 --snapshotsenabled/updatePolicy/checksumPolicy/ /snapshots!-- 远程仓库唯一标识符可以匹配settings.xml文件的远程仓库 --idrepository-id/id !-- 远程仓库名称 --namerepository-name/name!-- 远程仓库网址形式为protocol://hostname/path --urlrepository-url/url!-- 指定仓库布局类型default:默认legacy:遗留 --layout/layout/repository/repositories /projectproperties配置示例 !-- 定义pom常量便于在pom中的直接引用 -- !-- 示例 -- propertiesdemo.version4.11/demo.version /properties dependencygroupIdjunit/groupIdartifactIdjunit/artifactIdversion\){demo.version}/versionscopetest/scope /dependencyscope配置详解 maven认为程序对外部的依赖会随着程序的所处阶段和应用场景而变化所以maven中的依赖关系有作用域(scope)的限制。 scope值如下 compile编译范围默认值表示被依赖项目需要参与项目的编译、测试、运行、打包、发布。runtime运行时范围表示被依赖项目不参与项目的编译。test测试范围表示被依赖项目仅参与项目测试相关的工作包括测试代码的编译和执行但不会被打包和部署。provided已提供范围表示被依赖项目参与项目的编译、测试和运行而其他依赖由JDK或容器提供。system系统范围与 provided 相似但不依赖Maven仓库而是必须使用systemPath属性指定本地文件系统获取。