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

义乌网站建设优化推广企业网站推广的方式有哪些

义乌网站建设优化推广,企业网站推广的方式有哪些,canva可画在线设计平台,企业大型网站开发网站模板设计第一章 Maven 简介 1.1、Maven 概述 Maven 是一款基于 Java 平台的项目管理和整合工具#xff0c;它将项目的开发和管理过程抽象成一个项目对象模型#xff08;POM#xff09;。开发人员只需要做一些简单的配置#xff0c;Maven 就可以自动完成项目的编译、测试、打包、发…第一章 Maven 简介 1.1、Maven 概述 Maven 是一款基于 Java 平台的项目管理和整合工具它将项目的开发和管理过程抽象成一个项目对象模型POM。开发人员只需要做一些简单的配置Maven 就可以自动完成项目的编译、测试、打包、发布以及部署等工作。 Maven 是使用 Java 语言编写的因此它和 Java 一样具有跨平台性这意味着无论是在 Windows 还是在 Linux 或者 Mac OS 上都可以使用相同的命令进行操作。 Maven 使用标准的目录结构和默认构建生命周期因此开发者几乎不用花费多少时间就能够自动完成项目的基础构建工作。 Apache Maven是一个特别是Java编程项目管理及自动构建工具由Apache软件基金会所提供。基于项目对象模型缩写POM概念Maven利用一个中央信息片断能管理一个项目的构建、报告和文档等步骤。 它包含了一个项目对象模型 (Project Object Model)一组标准集合一个项目生命周期(Project Lifecycle)一个依赖管理系统(Dependency Management System)和用来运行定义在生命周期阶段(phase)中插件(plugin)目标(goal)的逻辑。当你使用Maven的时候你用一个明确定义的项目对象模型来描述你的项目然后Maven可以应用横切的逻辑这些逻辑来自一组共享的或者自定义的插件。 Maven 有一个生命周期当你运行 mvn install 的时候被调用。这条命令告诉 Maven 执行一系列的有序的步骤直到到达你指定的生命周期。遍历生命周期旅途中的一个影响就是Maven 运行了许多默认的插件目标这些目标完成了像编译和创建一个 JAR 文件这样的工作。 此外Maven能够很方便的帮你管理项目报告生成站点管理JAR文件等等。 1.2、Maven 特点 遵循最佳实践的简单项目设置数秒内即可启动新项目或模块在所有项目中使用一致意味着新开发人员无需花费更多时间来参与项目出色的依赖项管理包括自动更新依赖项关闭也称为传递依赖项能够轻松同时处理多个项目开箱即用的庞大且不断增长的依赖库并与最大的开源项目进行了安排以实时提供其最新版本可扩展能够轻松用 Java 或脚本语言编写插件几乎无需额外配置即可立即访问新功能用于Maven之外的依赖项管理和部署的Ant任务基于模型的构建Maven能够将任何数量的项目构建为预定义的输出类型例如JARWAR无需太多额外配置Maven将与您的源代码控制系统例如Git集成并基于特定标签管理项目的发布 1.3、Maven 和 Ant 对比 1.4、Maven下载、 安装 、环境配置 及 依赖 Maven 官方网址https://maven.apache.org/ Maven 依赖搜索https://mvnrepository.com/ Maven下载地址https://maven.apache.org/download.cgi 1.4.1、安装Maven 1 、下载Maven 安装包 官网https://maven.apache.org/ 2、点击Download 》选择 apache-maven-3.8.6-bin.zip 下载地址https://maven.apache.org/download.cgi 3、下载后解压产生此文件夹 4、文件夹如图所示 1.4.2、环境变量配置 1、点击我的电脑-属性-高级系统设置-环境变量 2、新建M2_HOME 内容 maven的bin目录这里看大家安装的路径不一定一样 3、新建MAVEN_HOME 内容maven的目录 4、关键配置path环境前面的不要动。加上 %MAVEN_HOME%\bin 5、输入命令行 cmd mvn -version 至此maven环境变量配置完成 第二章 Maven 项目结构 2.1、标准结构 接下来我们就按照标准目录创建一个 Maven工程 创建位置你可以任意但是我建议你创建在桌面上因为我也是这样做的。 创建完标准结构以后我们需要一些代码和配置来帮助我们完成接下来的学习在这里你可以不理解这些代码和配置的含义。 这些代码和配置在这一章节不是重点后边会讲重点是标准结构长什么样子这些代码和配置主要是为了学习接下来的 Maven命令。 找到 pom.xml 在里边写入以下配置 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!-- groupId一般为公司或者组织域名的反写 --groupIdcom.caochenlei/groupId!-- artifactId一般为当前项目或者模块的名称 --artifactIdmaven-demo/artifactId!-- version代表当前项目或者模块的版本号 --version0.0.1-SNAPSHOT/version /project 以上仅仅演示了一个标准的 maven 工程应该长什么样子具体的配置等内容会在后边讲解。 2.2、POM 文件 POM 是 Maven 工程的基本工作单元是一个 XML 文件包含了项目的基本信息用于描述项目如何构建声明项目依赖等等。 执行任务或目标时Maven 会在当前目录中查找 POM读取 POM获取所需的配置信息然后执行目标。 POM 中可以指定以下配置等等 项目配置项目版本依赖管理插件管理版本管理构建设置 所有 POM 文件一般都需要 project 根元素和三个必需字段groupIdartifactIdversion。 第三章 Maven 依赖管理 3.1、依赖导入 比如说我们现在需要导入一个专门处理 JSON 字符串的依赖。 我们只需要知道你所要导入的工具包的 groupId 、artifactId 、version 这三个标签的信息就可以了。 因为一个真正的项目中依赖绝不止一个所以在 pom.xml 就用了依赖的英文单词的复数形式来管理依赖信息具体格式如下 project...dependenciesdependencygroupIdcom.alibaba/groupIdartifactIdfastjson/artifactIdversion1.2.75/version/dependency......可添加多个依赖....../dependencies... /project 3.2、依赖原理 为什么上边知道 groupId 、artifactId 、version 这三个信息 maven 就能自动管理这个依赖了其实原理很简单。 如果你引入了依赖maven 就会使用这个依赖的信息拼接字符串到 maven 的中央仓库去寻找这个依赖并把它下载下来。 默认下载是下载到了用户的根目录下也就是 ~/.m2/repository 这个目录中我们也称这个目录为本地仓库。 maven 中央仓库的地址是 https://repo.maven.apache.org/maven2/ maven 拼接字符串的格式仓库地址/{groupId}/{artifactId}/{version}/{artifactId}-{version}.jar 注意groupId 需要把所包含的所有点替换成斜杠 如果是导入上边的 fastjson 那么这个依赖在 maven 中央仓库的地址也就是 https://repo.maven.apache.org/maven2/com/alibaba/fastjson/1.2.75/fastjson-1.2.75.jar这个地址是一个网络地址你可以把它复制到浏览器地址栏中然后回车访问一下这个依赖就能下载下来了。 也有可能你并不能访问因为 maven 的中央仓库是在外网在国内访问会很慢甚至打不开等情况。 3.3、更换仓库 为了解决这些不稳定的情况国内很多知名的大公司比如阿里它们就自己创建了一个仓库相当是把 maven 中央仓库里边所有的依赖全部拷到了他们自己的仓库中并实时更新同时向国人也开放了这个仓库的地址也就是 阿里的maven库 。 现在maven 默认是从中央仓库去下载我们想要改变它就必须告诉他说你不要去找中央仓库了太慢了你去阿里的 maven 库下载吧既然要告诉他我们就需要配置一下远程仓库地址。 找到解压后的 maven 目录进入 conf 目录找到 settings 文件在里边找到 mirrors 节点替换成以下信息 例如我的是在 C:\DevTools\apache-maven-3.3.9\conf\settings.xml 强烈建议使用 Notepad 编辑器打开它会高亮文字。 mirrorsmirroridalimaven/idmirrorOfcentral/mirrorOfnamealiyun maven/nameurlhttp://maven.aliyun.com/nexus/content/groups/public//url/mirror /mirrors 同时因为 maven 默认使用的 JDK 编译版本为 JDK1.5显然也并不符合我们的要求。 我们需要重新指定版本只需要找到 profiles 节点替换成以下信息即可 profilesprofileidjdk1.8/idactivationactiveByDefaulttrue/activeByDefaultjdk1.8/jdk/activationpropertiesmaven.compiler.source1.8/maven.compiler.sourcemaven.compiler.target1.8/maven.compiler.targetmaven.compiler.compilerVersion1.8/maven.compiler.compilerVersion/properties/profile /profiles 好了现在仓库地址也更改了那当他下载 fastjson 依赖的时候下载地址就应该是 http://maven.aliyun.com/nexus/content/groups/public/com/alibaba/fastjson/1.2.75/fastjson-1.2.75.jar为了验证你也可以把这个地址粘贴到浏览器中回车看看它会不会下载。 在上边我们还提到了一个本地仓库在本地仓库中你要是想要找到这个依赖也是遵循 maven 的拼接字符串原则那就成了以下 C:/Users/CaoChenLei/.m2/repository/com/alibaba/fastjson/1.2.75/fastjson-1.2.75.jarC:/Users/{自己的用户名}/.m2/repository/ 代表的就是本地仓库的地址。 当然现在的你可找不到这个文件甚至目录因为在上边我们只是讲解了依赖是怎么下载的。 但是现在我们并没有导入依赖也没有对 maven 项目‘maven-demo’进行任何操作。 他可不知道你有这么一个依赖需要下载。 3.4、小结一下 到这里简单梳理一下本章节你学会了 maven 项目如何导入依赖 在 pom.xml 中添加以下标签 project...dependenciesdependencygroupIdcom.alibaba/groupIdartifactIdfastjson/artifactIdversion1.2.75/version/dependency.../dependencies... /projectmaven 是怎么下载依赖的 利用 groupId 、artifactId 、version 拼接字符串然后访问下载 http://maven.aliyun.com/nexus/content/groups/public/com/alibaba/fastjson/1.2.75/fastjson-1.2.75.jar中央仓库 maven 官方的、最大的依赖第三方开源项目、工具、框架、插件等等存放仓库但是国内用户访问速度慢 阿里仓库 阿里仓库也称为远程仓库它是中央仓库的一份实时拷贝访问速度快建议使用此仓库 本地仓库 maven 下载依赖后用于存放依赖的地方在项目的依赖管理中首先去本地仓库中查找本地仓库中有则使用没有则下载然后存放到本地仓库中避免每一次都下载浪费网络带宽 3.5、内心疑问 你怎么知道 groupId 、artifactId 、version 这三个标签的信息 我们给大家一个 Maven 依赖搜索网站https://mvnrepository.com/ 现在访问好像需要验证码挺烦人的我们就以 fastjson 为例为大家进行演示。 3.6、依赖范围 一个依赖是有自己的作用范围的一般主要有以下几种情况 如何设置一个依赖的作用范围请参考 dependencygroupIdcom.alibaba/groupIdartifactIdfastjson/artifactIdversion1.2.75/version!-- 设置依赖范围主要可取值compile、test、provided默认不配就是compile --scopecompile/scope /dependency 3.7、依赖的传递性 假设现在有一个 Hello 项目它导入了 spring-core 依赖而开发 spring-core 需要依赖 commons-logging 依赖 还存在另外一个项目 HelloFriend 他依赖了 Hello 项目关系如图所示 依赖的传递有什么好处 可以传递的依赖不必在每个模块工程中都重复声明在 “最下面” 的工程中依赖一次即可。 3.8、依赖的排除 假设现在 commons-logging 这个依赖包是有问题的包我不想继续使用了该如何排除呢 我们这里有一份参考代码请您参考 在 HelloFriend 工程的 pom.xml 文件的 dependencies 标签内写入以下代码 dependencygroupIdcom.hello/groupIdartifactIdhello/artifactIdversion0.0.1-SNAPSHOT/version!-- 用来排除不想要的依赖包 --exclusionsexclusiongroupIdcommons-logging/groupIdartifactIdcommons-logging/artifactId/exclusion/exclusions /dependency 3.9、依赖的原则 依赖的原则它是为了解决工程模块之间的 jar 包冲突的问题的我们无法设置maven 有默认的原则我们需要了解。 原则一路径最短者优先 原则二验证路径相同时先声明者优先 3.10、依赖的继承 由于非 compile 范围的依赖信息是不能在 “依赖链” 中传递的所以有需要的工程只能单独配置。例如 dependencygroupIdjunit/groupIdartifactIdjunit/artifactIdversion4.0/versionscopetest/scope /dependency 此时如果项目需要将各个模块的 junit 版本统一为 4.9那么到各个工程中手动修改无疑是非常不可取的。 使用继承机制就可以将这样的依赖信息统一提取到父工程模块中进行统一管理。 创建父工程和创建一般的 Java 工程操作一致唯一需要注意的是打包方式处要设置为 pom。 而在子工程中只需要引入父工程的工程坐标就可以了。 parent!-- 父工程坐标 --groupId.../groupIdartifactIdParent/artifactIdversion0.0.1-SNAPSHOT/version!-- 指定从当前子工程的pom.xml文件出发查找父工程的pom.xml的路径 --relativePath../Parent/pom.xml/relativePath /parent 此时如果子工程的 groupId 和 version 和父工程重复则可以删除。 将 Parent 项目中的 dependencies 标签用 dependencyManagement 标签括起来。 dependencyManagementdependenciesdependencygroupIdjunit/groupIdartifactIdjunit/artifactIdversion4.9/versionscopetest/scope/dependency/dependencies /dependencyManagement 在子项目中重新指定需要的依赖删除范围和版本号。 dependenciesdependencygroupIdjunit/groupIdartifactIdjunit/artifactId/dependency /dependencies 第四章 Maven 常用命令 4.1、清理项目 mvn clean4.2、编译主程序 mvn compile4.3、编译测试程序 mvn test-compile4.4、执行主程序 首先需要编译 Java工程mvn compile不存在参数的情况下运行mvn exec:java -Dexec.mainClass主程序入口类不需要拓展名在存在参数的情况下运行mvn exec:java -Dexec.mainClass主程序入口类不需要拓展名 -Dexec.argsarg0 arg1 arg2 4.5、执行测试 mvn test4.6、打包项目 正常打包 mvn package跳过测试 mvn package -Dmaven.test.skiptrue4.7、安装项目 正常安装 mvn install跳过测试 mvn install -Dmaven.test.skiptrue4.8、部署项目 正常部署 mvn deploy跳过测试 mvn deploy -Dmaven.test.skiptrue4.9、生成站点 mvn site4.10、查看版本 mvn -v4.11、依赖管理 打印出已解决依赖的列表 mvn dependency:resolve打印出所有的依赖的列表 mvn dependency:tree4.12、创建项目 创建 Maven 版本的 Java 项目 #创建Maven版本的Java项目 mvn archetype:generate -DgroupIdpackageName -DartifactIdappName -Dversion1.0-SNAPSHOT -DarchetypeArtifactIdmaven-archetype-quickstart -DinteractiveModefalse#编译此项目 mvn compile#执行此项目 mvn exec:java -Dexec.mainClasspackageName.App 创建 Maven 版本的 JavaWeb 项目 mvn archetype:generate -DgroupIdpackageName -DartifactIdwebappName -Dversion1.0-SNAPSHOT -DarchetypeArtifactIdmaven-archetype-webapp -DinteractiveModefalse4.13、项目转化 将项目转化为 Eclipse 项目 : mvn eclipse:eclipse将项目转化为 Idea 项目 : mvn idea:idea4.14、配置清除 清除所有 Eclipse 的工程配置文件 mvn eclipse:clean清除所有 Idea 的工程配置文件 mvn idea:clean4.15、启动tomcat服务 mvn tomcat:run 第五章 Maven 生命周期 注意以下是一个简略版的生命周期足够我们学习了。 清理删除以前的编译结果为重新编译做好准备。编译将 Java 源程序编译为字节码文件。测试针对项目中的关键点进行测试确保项目在迭代开发过程中关键点的正确性在每次测试后以标准格式记录和展示测试结果。打包将一个包含诸多文件的工程封装为一个压缩文件用于安装或部署。Java 工程对应 jar 包Web 工程对应 war 包。安装在 Maven 环境下特指将打包的结果jar 包或 war 包安装到本地仓库中。发布将打包的结果部署到远程仓库或将 war 包部署到服务器上运行。 当执行 compile 的时候会执行从左向右依次执行 compile 当执行 test 的时候会执行从左向右依次执行 compile、test 当执行 package 的时候会执行从左向右依次执行 compile、test、package 当执行 install 的时候会执行从左向右依次执行 compile、test、package、install 当执行 deploy 的时候会执行从左向右依次执行 compile、test、package、install、deploy 运行任何一个阶段的时候它前面的所有阶段都会被运行例如我们运行 mvn install 的时候代码会被 编译测试打包。 这就是 Maven 为什么能够自动执行构建过程的各个环节的原因。 此外Maven 的插件机制是完全依赖 Maven 的生命周期的因此理解生命周期至关重要。 第六章 Maven 插件管理 6.1、插件概述 Maven 的核心仅仅定义了抽象的生命周期具体的任务都是交由插件完成的。 每个插件都能实现多个功能每个功能就是一个插件目标。 Maven 的生命周期与插件目标相互绑定以完成某个具体的构建任务。 例如compile 就是插件 maven-compiler-plugin 的一个目标 Maven 有以下三个标准的生命周期 clean项目清理的处理default(或 build)项目部署的处理site项目站点文档创建的处理一般不用所以生命周期没提 每个生命周期中都包含着一系列的阶段。 这些阶段就相当于 Maven 提供的统一的接口然后这些阶段的实现由 Maven 的插件来完成。 我们在输入 mvn 命令的时候 比如 mvn cleanclean 对应的就是 Clean 生命周期中的 clean 阶段。 但是 clean 的具体操作是由 maven-clean-plugin 内置了不用我们手动添加来实现的。 所以说 Maven 生命周期的每一个阶段的具体实现都是由 Maven 插件实现的。 Maven 实际上是一个依赖插件执行的框架每个任务实际上是由插件完成。 Maven 插件通常被用来 创建 jar 文件创建 war 文件编译代码文件代码单元测试创建工程文档创建工程报告 Maven 提供了下面两种类型的插件 一定注意maven 默认会采用自身所定义的插件来执行各个阶段也就是说即使你不配置这些插件它也能够正常运行。 但是你要是配置了某一阶段的一个插件他就会采用你所配置的插件来进行运行。 除了一些不在生命周期内的插件而我们需要使用则需要单独配置接下里就会告诉大家有哪些常见插件。 6.2、插件配置 我们接下来主要讲解在工程 POM.XML 文件中如何配置一个插件 找到 POM.XML 在根标签内添加以下代码插件名和版本仅供参考具体添加什么插件取决于你。 buildplugins!-- 编译插件 --plugingroupIdorg.apache.maven.plugins/groupIdartifactIdmaven-compiler-plugin/artifactIdversion3.2/versionconfigurationsource1.8/sourcetarget1.8/targetencodingUTF-8/encoding/configuration/plugin....../plugins /build 6.3、常用插件 6.3.1、通用型插件 maven-resources-plugin 插件描述该插件处理项目的资源文件拷贝到输出目录可以分别处理 main resources 和 test resources。 buildplugins!-- 依赖插件 --plugingroupIdorg.apache.maven.plugins/groupIdartifactIdmaven-resources-plugin/artifactIdversion3.0.1/versionconfigurationencodingUTF-8/encoding/configuration/plugin/plugins /build 除了使用 maven-resources-plugin 也可以使用以下配置来进行资源拷贝 buildresourcesresourcedirectorysrc/main/java/directoryincludesinclude**/*.properties/includeinclude**/*.xml/includeinclude**/*.conf/include/includesfilteringfalse/filtering/resourceresourcedirectorysrc/main/resources/directoryincludesinclude**/*.properties/includeinclude**/*.xml/includeinclude**/*.conf/include/includesfilteringfalse/filtering/resource/resources /build maven-compiler-plugin 插件描述设置 maven 编译的 jdk 版本maven3 默认用 jdk1.5maven2 默认用 jdk1.3除了配置maven安装目录/config/settings.xml文件也可以使用 maven-compiler-plugin 进行指定 buildplugins!-- 依赖插件 --plugingroupIdorg.apache.maven.plugins/groupIdartifactIdmaven-compiler-plugin/artifactIdversion3.2/versionconfigurationsource1.8/sourcetarget1.8/targetencodingUTF-8/encoding/configuration/plugin/plugins /build maven-assembly-plugin 插件描述该插件允许用户整合项目的输出包括依赖、模块、网站文档和其他文档到一个单独的文件即可用定制化打包。 四种预定义的描述器可用bin, jar-with-dependencies, src, project。 buildplugins!-- 依赖插件 --pluginartifactIdmaven-assembly-plugin/artifactIdconfigurationdescriptorRefsdescriptorRefjar-with-dependencies/descriptorRef/descriptorRefsarchivemanifestmainClass主程序类全路径/mainClass/manifest/archive/configurationexecutionsexecutionidmake-assembly/idphasepackage/phasegoalsgoalsingle/goal/goals/execution/executions/plugin/plugins /build maven-source-plugin 插件描述该插件处理打包项目的源代码。 buildplugins!-- 依赖插件 --plugingroupIdorg.apache.maven.plugins/groupIdartifactIdmaven-source-plugin/artifactIdexecutionsexecutionidattach-sources/idgoalsgoaljar/goal/goals/execution/executions/plugin/plugins /buildmaven-dependency-plugin 插件描述自动拷贝 jar 包到 target 目录 buildplugins!-- 依赖插件 --plugingroupIdorg.apache.maven.plugins/groupIdartifactIdmaven-dependency-plugin/artifactIdversion2.6/versionexecutionsexecutionidcopy-dependencies/idphasecompile/phasegoalsgoalcopy-dependencies/goal/goalsconfiguration!-- ${project.build.directory}为Maven内置变量缺省为target --outputDirectory${project.build.directory}/lib/outputDirectory!-- 表示是否不包含间接依赖的包 --excludeTransitivefalse/excludeTransitive!-- 表示复制的jar文件去掉版本信息 --stripVersiontrue/stripVersion/configuration/execution/executions/plugin/plugins /build 6.3.2、web 型插件 插件名称maven-jetty-plugin插件作用可以让项目直接用 jetty 的服务器运行使用命令mvn jetty:run默认端口8080 plugingroupIdorg.mortbay.jetty/groupIdartifactIdjetty-maven-plugin/artifactIdversion8.1.16.v20140903/version!-- 插件配置选项可选项 --configurationconnectorsconnector implementationorg.eclipse.jetty.server.nio.SelectChannelConnectorport8080/port/connector/connectorsscanIntervalSeconds10/scanIntervalSeconds/configuration /plugin 插件名称tomcat7-maven-plugin插件作用可以让项目直接用 tomcat 的服务器运行使用命令mvn tomcat7:run默认端口8080 plugingroupIdorg.apache.tomcat.maven/groupIdartifactIdtomcat7-maven-plugin/artifactIdversion2.2/version!-- 插件配置选项可选项 --configurationpath//pathport8080/porturiEncodingUTF-8/uriEncoding/configuration /plugin 第七章 Maven 变量信息 7.1、内置变量 主要有两个常用内置属性${basedir} 项目的根目录 (包含 pom.xml 文件的目录)${version} 项目版本 #用户可以使用该属性引用POM文件中对应元素的值常用的POM属性包括 ${project.build.sourceDirectory}项目的主源码目录默认为 src/main/java ${project.build.testSourceDirectory}项目的测试源码目录默认为 src/test/java ${project.build.directory}项目构件输出目录默认为 target/ ${project.outputDirectory}项目主代码编译输出目录默认为 target/classes/ ${project.testOutputDirectory}项目测试代码编译输出目录默认为 target/test-classes/ ${project.groupId}项目的 groupId ${project.artifactId}项目的 artifactId ${project.version}项目的 version与${version}等价 ${project.build.fianlName}项目打包输出文件的名称。默认为${project.artifactId}-${project.version}#获取环境变量属性所有环境变量都可以使用以env.开头的Maven属性引用 ${env.xxx}获取系统环境变量#获取Settings属性用户使用settings.开头的属性引用 settings.xml 文件中XML元素的值 ${settings.xxx}获取settings.xml中对应元素的值 7.2、自定义变量 如何定义 project...properties变量名变量值/变量名/properties... /project 如何引用 ${变量名} 案例演示 project...propertiesjunit.version3.8.1/junit.version/propertiesdependenciesdependencygroupIdjunit/groupIdartifactIdjunit/artifactIdversion${junit.version}/versionscopetest/scope/dependency/dependencies... /project 第八章 Maven 集成环境 8.1、Maven 集成到 Eclipse 8.1.1、如何集成 Maven eclipse versionOxygen.3a Release (4.7.3a)全新安装无任何配置 java version“1.8.0_261” 8.1.2、创建 Java 项目 8.1.3、创建 JavaWeb 项目 8.2、Maven 集成到 Idea 8.2.1、如何集成 Maven idea versionIntelliJ IDEA 2020.1.2全新安装无任何配置 java version“1.8.0_261” 8.2.2、创建 Java 项目 8.2.3、创建 JavaWeb 项目 第九章 Maven 模块化开发 9.1、概述 为什么要模块化开发 一个工程往往会有很多代码文件也会分为很多层比如传统的 mvccontroller、service、dao 等等。 时间一场随着项目开发的越来越大这些文件和层次越来越多放到一个工程中也越来越难管理。 而且比如 dao 层可能不止这一个项目用到了其他项目也有可能用到以前的所有代码放到一个工程中你在抽取的时候会很麻烦。 现在经过模块化划分之后各个层次结构之间可以相互依赖大大提高了项目的开发进度。 在未来的微服务架构中这一点也有很好的体现。 值得一提的是模块与模块之间可以相互依赖由父工程进行所有依赖版本的管理减少了开发中很多不必要的工作。 模块化开发是在依赖继承的基础上进行的所以你有必要去了解一下依赖继承。 9.2、Eclipse 中演示 9.2.1、创建父项目 9.2.2、创建子项目 父工程的 pom.xml 子工程的 pom.xml 9.3、Idea 中演示 9.3.1、创建父项目 父工程的 pom.xml 子工程的 pom.xml 第十章 Maven 私服搭建 10.1、nexus3 介绍 Nexus3 是一个仓库管理器它极大地简化了本地内部仓库的维护和外部仓库的访问。 平常我们在获取 maven 仓库资源的时候都是从 maven 的官方或者国内的镜像获取但是这都不是最好的方案假如在同一个环境内一个团队的多个开发人员同样的依赖都要从远程获取一遍从网络方面来说这是非常耗时的。这时候就需要在局域网内部署一个 Nexus3 用来管理 Mavenapt、yum、gradle、pypi、docker 等等仓库。 有些公司都不提供外网给项目组人员因此就不能使用 maven 访问远程的仓库地址所以很有必要在局域网里找一台有外网权限的机器搭建 Nexus3 私服然后开发人员连到这台私服上这样的话就可以通过这台搭建了 Nexus3 私服的电脑访问 maven 的远程仓库。 10.2、nexus3 搭建 下载地址https://www.sonatype.com/products/repository-oss-download 由于这个软件也是在外网下载速度很慢至少我是这样的。 首先先下载下来 Nexus然后解压到一个没有空格没有中文的目录中去这里我解压到和 maven 同一级的目录中去了。 C:\DevTools\nexus-3.25.0-03-win64首先进入 nexus-3.25.0-03 在进入 bin 运行命令 nexus.exe /run 然后他就会一直加载一直加载… 打开浏览器访问http://localhost:8081/ 点击登录就我会询问你账户密码默认账户为 admin密码就需要到 sonatype-work/nexus3 里寻找了那一长串就是密码 Nexus 有 3 个类型的数据仓库分别是 hostedproxygroup。 hosted 宿主仓库主要用于部署无法从公共仓库获取的构件以及自己或第三方的项目构件 proxy 代理仓库代理公共的远程仓库 group 仓库组Nexus 通过仓库组统一管理多个仓库这样我们在项目中直接请求仓库组即可请求到仓库组管理的多个仓库。 Nexus 预定义了 2 个本地仓库分别是 maven-releases, maven-snapshots。 maven-releases这里存放我们自己项目中发布的构建通常是 Release 版本的也就是正式版。maven-snapshots这个仓库非常的有用它的目的是让我们可以发布那些非 release 版本非稳定版本也就是快照版。 手动上传本地 jar 包这里以常用的ojdbc6-11.2.0.4.jar为例当然你可以任选 jar 包上传。 这样一个 jar 包就上传成功了。 10.3、create 仓库 如果你的工程中使用的 jar 包在私服中没有他就会自动连接远程仓库进行下载这不是我们希望的结果我们希望它去阿里 maven 库去下载这样下载速度会更快。 阿里仓库地址https://developer.aliyun.com/mvn/guide 10.4、maven 配置 老规矩要配置 maven就需要到 maven 安装目录中的 conf/settings.xml 上传需要的设置 servers!-- 发布版 --serveridreleases/idusernameadmin/usernamepasswordadmin123/password/server!-- 快照版 --serveridsnapshots/idusernameadmin/usernamepasswordadmin123/password/server /servers下载需要的设置 mirrorsmirroridnexus/idmirrorOf*/mirrorOfnamenexus maven/nameurlhttp://127.0.0.1:8081/repository/maven-public//url/mirror /mirrors10.5、project 配置 我们准备一个 maven 项目在 pom.xml 中添加一段配置 distributionManagementrepositoryidreleases/idnamemaven-releases/nameurlhttp://127.0.0.1:8081/repository/maven-releases//urluniqueVersiontrue/uniqueVersion/repositorysnapshotRepositoryidsnapshots/idnamemaven-snapshots/nameurlhttp://127.0.0.1:8081/repository/maven-snapshots//urluniqueVersiontrue/uniqueVersion/snapshotRepository /distributionManagement10.6、发布项目到私服 只要执行命令 mvn deploy即可。 这里配置了两个仓库一个正式版、一个快照版maven 是如何区分你要发布到哪一个仓库呢 如果你的版本带着 releases也就是 version0.0.1-releases/version就会发布到 maven-releases。 如果你的版本带着 snapshots也就是 version0.0.1-snapshots/version就会发布到 maven-snapshots。 10.7、安装依赖到私服 如果你想安装别人提供给你的 jar 包到私服除了使用 nexus 提供的图形化界面方式上传还可以使用命令行的方式进行上传。 我们以上传 ojdbc6-11.2.0.4.jar 到私服快照仓库为例演示。以下命令是一行为了方便阅读我特意换了行请注意 mvn deploy:deploy-file -DgroupIdcom.oracle.database.jdbc -DartifactIdojdbc6 -Dversion11.2.0.4 -Dpackagingjar -DfileC:\developlib\ojdbc6-11.2.0.4.jar -Durlhttp://localhost:8081/repository/maven-snapshots/ -DrepositoryIdsnapshots10.8、安装依赖到本地 如果你想安装别人提供给你的 jar 包到本地仓库可以参考以下命令 我们以安装 ojdbc6-11.2.0.4.jar 到本地仓库为例演示。以下命令是一行为了方便阅读我特意换了行请注意 mvn install:install-file -DgroupIdcom.oracle.database.jdbc -DartifactIdojdbc6 -Dversion11.2.0.4 -Dpackagingjar -DfileC:\developlib\ojdbc6-11.2.0.4.jar
http://www.dnsts.com.cn/news/73500.html

相关文章:

  • node.js可以做网站个人建站需要多少钱
  • 龙岩网站建设要多久网站开发制作报价
  • 电影网站开发影院座位问题wordpress 数据表
  • 网站轮播图片怎么做wap网页游戏轮回ol
  • 如何做淘宝客网站莱芜雪野湖地图
  • 电商详情页模板的网站建设网站公司专业
  • 做字的网站一键查询注册过的网站
  • 广东网广东网站建设Wordpress 导航条样式
  • 网站建设要求有哪些昆明网站建设推广
  • 灰色行业网站有什么网站有教师招聘考试题目做
  • 设计的素材网站有哪些民治专业做网站公司
  • 什么网站的图片可以做商用长春哪家做网站做的好
  • 菠菜网站如何做推广wix建设网站
  • 网站平台建设论文网站制作周期
  • 做音乐的网站设计中国建设银行的网站特色
  • 什么网站可以发布信息建设新农村网站
  • 湖州建设网站制作企业网站建站系统哪个好用
  • 建站哪个网站好石城县网站建设
  • 古香古色网站模板钱宝做任务的网站怎么下
  • 怎么做网站访问截取ip网站搭建接单
  • 腾讯云如何建设网站上海有限公司黄页
  • 上海专业网站建设机构商务网站建设 模板
  • 网站模版图片温州网站建设得花多少钱
  • 网站设计公司西安管理外贸网站模板下载
  • 石家庄住房城乡建设厅网站网站建设 赚钱吗
  • 郫县做网站网站开发代码说明书
  • 昆明网站建设外包猫扑网站开发的网络游戏
  • 泉州网站设计制作建筑行业
  • 营销型网站建设风格设定包括哪些方面?公司视频广告拍摄
  • 做网站哪家最便宜服务器做网站教程