网站建设创业经历个人网页设计html代码免费

news/2025/10/8 23:10:18/文章来源:
网站建设创业经历,个人网页设计html代码免费,安阳县地图,兖州城乡建设局网站文章目录 一、引言1.1 为什么需要 Maven#xff1f;1.2 Maven 解决了哪些问题#xff1f;1.2.1 添加第三方jar包1.2.2 jar包之间的依赖关系1.2.3 处理jar包之间的冲突1.2.4 获取第三方jar包1.2.5 将项目拆分成多个工程模块1.2.6 实现项目的分布式部署 二、介绍三、Maven 的特… 文章目录 一、引言1.1 为什么需要 Maven1.2 Maven 解决了哪些问题1.2.1 添加第三方jar包1.2.2 jar包之间的依赖关系1.2.3 处理jar包之间的冲突1.2.4 获取第三方jar包1.2.5 将项目拆分成多个工程模块1.2.6 实现项目的分布式部署 二、介绍三、Maven 的特点3.1 自动化构建工具3.2 构建的概念3.3 构建环节3.4 自动化构建3.5 Maven核心概念 四、Maven安装4.1 下载Maven4.2 Maven安装4.2.1 解压4.2.2 环境变量4.2.3 测试 五、Maven配置5.1 本地仓库5.2 JDK配置 六、仓库6.1 概念6.2 仓库分类6.3 本地仓库6.4 远程仓库6.4.1 中央仓库6.4.2 公共仓库【重点】6.4.3 私服【了解】6.4.4 查找顺序 七、Idea-Maven7.1 在Idea中关联Maven8.5 依赖的原则解决jar包冲突8.6 依赖的排除 九、Maven 生命周期9.1 什么是Maven的生命周期9.2 clean生命周期9.3 Site生命周期9.4 Default生命周期9.5 生命周期与自动化构建 十、继承10.1 为什么需要继承机制10.2 创建父工程10.3 在子工程中引用父工程10.4 在父工程中管理依赖 十一、聚合11.1 为什么要使用聚合11.1 如何配置聚合 十二、常用网站十三、私服[了解]13.1 概念13.2 架构13.3 Nexus安装【了解】13.3.1 下载13.3.2 安装 13.4 启动【了解】13.5 Nexus登录【了解】13.6 仓库列表【了解】13.7 Maven配置私服 【重点】13.7.1 仓库组13.7.2 Maven关联私服 13.8 Maven项目部署到私服 一、引言 1.1 为什么需要 Maven 项目管理问题 项目中jar包资源越来越多jar包的管理越来越沉重。 繁琐 要为每个项目手动导入所需的jar需要搜集全部jar 复杂 项目中的jar如果需要版本升级就需要再重新搜集jar 冗余 相同的jar在不同的项目中保存了多份 1.2 Maven 解决了哪些问题 1.2.1 添加第三方jar包 在今天的JavaEE开发领域有大量的第三方框架和工具可以供我们使用。要使用这些jar包最简单的方法就是复制粘贴到WEB-INF目录下的lib目录下。但是这会导致每次创建一个新的工程就需要将jar包重复复制到lib目录下从而造成工作区中存在大量重复的文件。 而使用Maven后每个jar包只在本地仓库中保存一份需要jar包的工程只需要维护一个文本形式的jar包的引用——我们称之为“坐标”。不仅极大的节约了存储空间让项目更轻巧更避免了重复文件太多而造成的混乱。 1.2.2 jar包之间的依赖关系 jar包往往不是孤立存在的很多jar包都需要在其他jar包的支持下才能够正常工作我们称之为jar包之间的依赖关系。最典型的例子是commons-fileupload-1.3.jar依赖于commons-io-2.0.1.jar如果没有IO包FileUpload包就不能正常工作。 那么问题来了你知道你所使用的所有jar包的依赖关系吗当你拿到一个新的从未使用过的jar包你如何得知他需要哪些jar包的支持呢如果不了解这个情况导入的jar包不够那么现有的程序将不能正常工作。再进一步当你的项目中需要用到上百个jar包时你还会人为的手工的逐一确认它们依赖的其他jar包吗这简直是不可想象的。 而引入Maven后Maven就可以替我们自动的将当前jar包所依赖的其他所有jar包全部导入进来无需人工参与节约了我们大量的时间和精力。用实际例子来说明就是通过Maven导入commons-fileupload-1.3.jar后commons-io-2.0.1.jar会被自动导入程序员不必了解这个依赖关系。 1.2.3 处理jar包之间的冲突 上一点说的是jar包不足项目无法正常工作但其实有的时候jar包多了项目仍然无法正常工作这就是jar包之间的冲突。 举个例子我们现在有三个工程MakeFriend、HelloFriend、和Hello。MakeFriend依赖HelloFriendHelloFriend依赖Hello。而Hello依赖log4j.1.2.17.jarHelloFriend依赖log4j.1.2.14.jar。如下图所示 [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-V51DbKOl-1692863772990)(http://img.itboyhub.com//2020/04/vhr/20210327080831.png)] 那么MakeFriend工程的运行时环境中该导入log4j.1.2.14.jar呢还是log4j.1.2.17.jar呢 这样的问题一个两个还可以手工解决但如果系统中存在几十上百的jar包他们之间的依赖关系会非常复杂几乎不可能手工实现依赖关系的梳理。 使用Maven就可以自动的处理jar包之间的冲突问题。因为Maven中内置了两条依赖原则最短路径者优先和先声明者优先上述问题MakeFriend工程会自动使用log4j.1.2.14.jar。 1.2.4 获取第三方jar包 JavaEE开发中需要使用到的jar包种类繁多几乎每个jar包在其本身的官网上的获取方式都不尽相同。为了查找一个jar包找遍互联网身心俱疲没有经历过的人或许体会不到这种折磨。不仅如此费劲心血找的jar包里有的时候并没有你需要的那个类又或者又同名的类没有你要的方法——以不规范的方式获取的jar包也往往是不规范的。 使用Maven我们可以享受到一个完全统一规范的jar包管理体系。你只需要在你的项目中以坐标的方式依赖一个jar包Maven就会自动从中央仓库进行下载并同时下载这个jar包所依赖的其他jar包——规范、完整、准确一次性解决所有问题 Tips在这里我们顺便说一下统一的规范几乎可以说成是程序员的最高信仰。如果没有统一的规范就意味着每个具体的技术都各自为政需要以诸多不同的特殊的方式加入到项目中好不容易加入进来还会和其他技术格格不入最终受苦的是我们。而任何一个领域的统一规范都能够极大的降低程序员的工作难度减少工作量。例如USB接口可以外接各种设备如果每个设备都有自己独特的接口那么不仅制造商需要维护各个接口的设计方案使用者也需要详细了解每个设备对应的接口无疑是非常繁琐的。 1.2.5 将项目拆分成多个工程模块 随着JavaEE项目的规模越来越庞大开发团队的规模也与日俱增。一个项目上千人的团队持续开发很多年对于JavaEE项目来说再正常不过。那么我们想象一下几百上千的人开发的项目是同一个Web工程。那么架构师、项目经理该如何划分项目的模块、如何分工呢这么大的项目已经不可能通过package结构来划分模块必须将项目拆分成多个工程协同开发。多个模块工程中有的是Java工程有的是Web工程。 那么工程拆分后又如何进行互相调用和访问呢这就需要用到Maven的依赖管理机制。大家请看我们的Survey调查项目拆分的情况 [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-QgY1PeXK-1692863772990)(http://img.itboyhub.com//2020/04/vhr/20210327080903.png)] 上层模块依赖下层所以下层模块中定义的API都可以为上层所调用和访问。 1.2.6 实现项目的分布式部署 在实际生产环境中项目规模增加到一定程度后可能每个模块都需要运行在独立的服务器上我们称之为分布式部署这里同样需要用到Maven。 [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-FLts6Js5-1692863772990)(http://img.itboyhub.com//2020/04/vhr/20210327080933.png)] 二、介绍 Ant Maven Gradle Maven这个单词来自于意第绪语犹太语意为知识的积累. Maven是一个基于项目对象模型POM的概念的纯java开发的开源的项目管理工具。主要用来管理java项目进行依赖管理(jar包依赖管理)和项目构建(项目编译、打包、测试、部署)。此外还能分模块开发提高开发效率。 三、Maven 的特点 3.1 自动化构建工具 Maven这个单词的本意是专家内行。读音是[meɪv(ə)n]或[mevn]不要读作“妈文”。 Maven是一款自动化构建工具专注服务于Java平台的项目构建和依赖管理。在JavaEE开发的历史上构建工具的发展也经历了一系列的演化和变迁 Make→Ant→Maven→Gradle→其他…… 那么什么是构建呢 3.2 构建的概念 构建并不是创建创建一个工程并不等于构建一个项目。要了解构建的含义我们应该由浅入深的从以下三个层面来看 ①纯Java代码 大家都知道我们Java是一门编译型语言.java扩展名的源文件需要编译成.class扩展名的字节码文件才能够执行。所以编写任何Java代码想要执行的话就必须经过编译得到对应的.class文件。 ②Web工程 当我们需要通过浏览器访问Java程序时就必须将包含Java程序的Web工程编译的结果“拿”到服务器上的指定目录下并启动服务器才行。这个“拿”的过程我们叫部署。 我们可以将未编译的Web工程比喻为一只生的鸡编译好的Web工程是一只煮熟的鸡编译部署的过程就是将鸡炖熟。 ③实际项目 在实际项目中整合第三方框架Web工程中除了Java程序和JSP页面、图片等静态资源之外还包括第三方框架的jar包以及各种各样的配置文件。所有这些资源都必须按照正确的目录结构部署到服务器上项目才可以运行。 所以综上所述构建就是以我们编写的Java代码、框架配置文件、国际化等其他资源文件、JSP页面和图片等静态资源作为“原材料”去“生产”出一个可以运行的项目的过程。 那么项目构建的全过程中都包含哪些环节呢 3.3 构建环节 ①清理删除以前的编译结果为重新编译做好准备。 ②编译将Java源程序编译为字节码文件。 ③测试针对项目中的关键点进行测试确保项目在迭代开发过程中关键点的正确性。 ④报告在每一次测试后以标准的格式记录和展示测试结果。 ⑤打包将一个包含诸多文件的工程封装为一个压缩文件用于安装或部署。Java工程对应jar包Web工程对应war包。 ⑥安装在Maven环境下特指将打包的结果——jar包或war包安装到本地仓库中。 ⑦部署将打包的结果部署到远程仓库或将war包部署到服务器上运行。 3.4 自动化构建 3.5 Maven核心概念 Maven之所以能够实现自动化的构建和它的设计是紧密相关的。我们对Maven的学习就围绕它的九个核心概念展开 ①POM ②约定的目录结构 ③坐标 ④依赖管理 ⑤仓库管理 ⑥生命周期 ⑦插件和目标 ⑧继承 ⑨聚合 四、Maven安装 4.1 下载Maven 下载Maven http://us.mirrors.quenda.co/apache/maven/maven-3/3.5.4/binaries/ |4.2 Maven安装 4.2.1 解压 注意 解压文件尽量不要放在含有中文或者特殊字符的目录下。 解压后有如下目录 bin:含有mvn运行的脚本 boot:含有plexus-classworlds类加载器框架,Maven 使用该框架加载自己的类库。 conf:含有settings.xml配置文件 lib:含有Maven运行时所需要的java类库4.2.2 环境变量 maven依赖java环境所以要确保java环境已配置好 maven-3.3 需要jdk7 maven本身有2个环境变量要配置 MAVEN_HOME maven的安装目录 PATH maven的安装目录下的bin目录4.2.3 测试 查看maven版本信息 mvn -v五、Maven配置 5.1 本地仓库 maven的conf目录中有 settings.xml 是maven的配置文件做如下配置 settings xmlnshttp://maven.apache.org/SETTINGS/1.0.0xmlns:xsihttp://www.w3.org/2001/XMLSchema-instancexsi:schemaLocationhttp://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd!-- localRepository| The path to the local repository maven will use to store artifacts.|| Default: ${user.home}/.m2/repositorylocalRepository/path/to/local/repo/localRepository--!-- 选择一个磁盘目录作为本地仓库 --localRepositoryD:\Program Files\maven\myrepository/localRepository5.2 JDK配置 在 标签中 增加 一个 标签限定maven项目默认的jdk版本. 内容如下 profiles!-- 在已有的profiles标签中添加profile标签 --profile idmyjdk/id activation activeByDefaulttrue/activeByDefault jdk1.8/jdk /activation properties maven.compiler.source1.8/maven.compiler.source maven.compiler.target1.8/maven.compiler.targetmaven.compiler.compilerVersion1.8/maven.compiler.compilerVersion /properties /profile /profiles !-- 让增加的 profile生效 -- activeProfilesactiveProfilemyjdk/activeProfile /activeProfiles六、仓库 6.1 概念 存储依赖的地方体现形式就是本地的一个目录。 仓库中不仅存放依赖而且管理着每个依赖的唯一标识(坐标)Java项目凭坐标获取依赖。 6.2 仓库分类 仓库分类如下 仓库分类 当需要依赖时会从仓库中取查找优先顺序为 本地仓库 私服(如果配置了的话) 公共仓库(如果配置了的话) 中央仓库 6.3 本地仓库 即在settings.xml 中配置的目录。 使用过了的依赖都会自动存储在本地仓库中后续可以复用。 6.4 远程仓库 6.4.1 中央仓库 Maven 中央仓库是由 Maven 社区提供的仓库不用任何配置maven中内置了中央仓库的地址。 其中包含了绝大多数流行的开源Java构件。 https://mvnrepository.com/ 可以搜索需要的依赖的相关信息仓库搜索服务 http://repo.maven.apache.org/maven2/ 中央仓库地址 6.4.2 公共仓库【重点】 除中央仓库之外还有其他远程仓库。 比如aliyun仓库http://maven.aliyun.com/nexus/content/groups/public/ 中央仓库在国外下载依赖速度过慢所以都会配置一个国内的公共仓库替代中央仓库。 !--setting.xml中添加如下配置-- mirrorsmirroridaliyun/id !-- 中心仓库的 mirror(镜像) --mirrorOfcentral/mirrorOf nameNexus aliyun/name!-- aliyun仓库地址 以后所有要指向中心仓库的请求都会指向aliyun仓库--urlhttp://maven.aliyun.com/nexus/content/groups/public/url /mirror /mirrors6.4.3 私服【了解】 公司范围内共享的仓库不对外开放。 可以通过 Nexus来创建、管理一个私服。 6.4.4 查找顺序 七、Idea-Maven 7.1 在Idea中关联Maven 在idea中关联本地安装的maven后续就可以通过idea使用maven管理项目啦。 在全局设置中关联Maven 8.5 依赖的原则解决jar包冲突 ①路径最短者优先 ②路径相同时先声明者优先 这里“声明”的先后顺序指的是dependency标签配置的先后顺序。 8.6 依赖的排除 有的时候为了确保程序正确可以将有可能重复的间接依赖排除。请看如下的例子 假设当前工程为survey_public直接依赖survey_environment。survey_environment依赖commons-logging的1.1.1对于survey_public来说是间接依赖。当前工程survey_public直接依赖commons-logging的1.1.2加入exclusions配置后可以在依赖survey_environment的时候排除版本为1.1.1的commons-logging的间接依赖 dependencygroupIdorg.javaboy.maven/groupIdartifactIdSurvey160225_4_Environment/artifactIdversion0.0.1-SNAPSHOT/version!-- 依赖排除 --exclusionsexclusiongroupIdcommons-logging/groupIdartifactIdcommons-logging/artifactId/exclusion/exclusions /dependency dependencygroupIdcommons-logging/groupIdartifactIdcommons-logging/artifactIdversion1.1.2/version /dependency ​### 8.7 统一管理目标jar包的版本以对Spring的jar包依赖为例Spring的每一个版本中都包含spring-core、spring-context等jar包。我们应该导入版本一致的Spring jar包而不是使用4.0.0的spring-core的同时使用4.1.1的spring-context。​xml dependencygroupIdorg.springframework/groupIdartifactIdspring-core/artifactIdversion4.0.0.RELEASE/version /dependency dependencygroupIdorg.springframework/groupIdartifactIdspring-context/artifactIdversion4.0.0.RELEASE/version /dependency dependencygroupIdorg.springframework/groupIdartifactIdspring-jdbc/artifactIdversion4.0.0.RELEASE/version /dependency dependencygroupIdorg.springframework/groupIdartifactIdspring-orm/artifactIdversion4.0.0.RELEASE/version /dependency dependencygroupIdorg.springframework/groupIdartifactIdspring-web/artifactIdversion4.0.0.RELEASE/version /dependency dependencygroupIdorg.springframework/groupIdartifactIdspring-webmvc/artifactIdversion4.0.0.RELEASE/version /dependency问题是如果我们想要将这些jar包的版本统一升级为4.1.1是不是要手动一个个修改呢显然我们有统一配置的方式 propertiesspring.version4.1.1.RELEASE/spring.version /properties dependencygroupIdorg.springframework/groupIdartifactIdspring-core/artifactIdversion${spring.version}/version /dependency dependencygroupIdorg.springframework/groupIdartifactIdspring-context/artifactIdversion${spring.version}/version /dependency dependencygroupIdorg.springframework/groupIdartifactIdspring-jdbc/artifactIdversion${spring.version}/version /dependency dependencygroupIdorg.springframework/groupIdartifactIdspring-orm/artifactIdversion${spring.version}/version /dependency dependencygroupIdorg.springframework/groupIdartifactIdspring-web/artifactIdversion${spring.version}/version /dependency dependencygroupIdorg.springframework/groupIdartifactIdspring-webmvc/artifactIdversion${spring.version}/version /dependency这样一来进行版本调整的时候只改一改地方就行了。 九、Maven 生命周期 9.1 什么是Maven的生命周期 Maven生命周期定义了各个构建环节的执行顺序有了这个清单Maven就可以自动化的执行构建命令了。 Maven有三套相互独立的生命周期分别是 Clean Lifecycle在进行真正的构建之前进行一些清理工作。Default Lifecycle构建的核心部分编译测试打包安装部署等等。Site Lifecycle生成项目报告站点发布站点。 再次强调一下它们是相互独立的你可以仅仅调用clean来清理工作目录仅仅调用site来生成站点。当然你也可以直接运行 mvn clean install site 运行所有这三套生命周期。 每套生命周期都由一组阶段(Phase)组成我们平时在命令行输入的命令总会对应于一个特定的阶段。比如运行mvn clean这个clean是Clean生命周期的一个阶段。有Clean生命周期也有clean阶段。 9.2 clean生命周期 Clean生命周期一共包含了三个阶段 pre-clean 执行一些需要在clean之前完成的工作clean 移除所有上一次构建生成的文件post-clean 执行一些需要在clean之后立刻完成的工作 9.3 Site生命周期 pre-site 执行一些需要在生成站点文档之前完成的工作site 生成项目的站点文档post-site 执行一些需要在生成站点文档之后完成的工作并且为部署做准备site-deploy 将生成的站点文档部署到特定的服务器上 这里经常用到的是site阶段和site-deploy阶段用以生成和发布Maven站点这可是Maven相当强大的功能Manager比较喜欢文档及统计数据自动生成很好看。 9.4 Default生命周期 Default生命周期是Maven生命周期中最重要的一个绝大部分工作都发生在这个生命周期中。这里只解释一些比较重要和常用的阶段 validategenerate-sourcesprocess-sourcesgenerate-resourcesprocess-resources 复制并处理资源文件至目标目录准备打包。compile 编译项目的源代码。process-classesgenerate-test-sourcesprocess-test-sourcesgenerate-test-resourcesprocess-test-resources 复制并处理资源文件至目标测试目录。test-compile 编译测试源代码。process-test-classestest 使用合适的单元测试框架运行测试。这些测试代码不会被打包或部署。prepare-packagepackage 接受编译好的代码打包成可发布的格式如JAR。pre-integration-testintegration-testpost-integration-testverifyinstall将包安装至本地仓库以让其它项目依赖。deploy将最终的包复制到远程的仓库以让其它开发人员与项目共享或部署到服务器上运行。 9.5 生命周期与自动化构建 运行任何一个阶段的时候它前面的所有阶段都会被运行例如我们运行mvn install 的时候代码会被编译测试打包。这就是Maven为什么能够自动执行构建过程的各个环节的原因。此外Maven的插件机制是完全依赖Maven的生命周期的因此理解生命周期至关重要。 十、继承 10.1 为什么需要继承机制 由于非compile范围的依赖信息是不能在“依赖链”中传递的所以有需要的工程只能单独配置。例如 Hello dependencygroupIdjunit/groupIdartifactIdjunit/artifactIdversion4.9/versionscopetest/scope /dependencyHelloFriend dependencygroupIdjunit/groupIdartifactIdjunit/artifactIdversion4.9/versionscopetest/scope /dependencyMakeFriend dependencygroupIdjunit/groupIdartifactIdjunit/artifactIdversion4.9/versionscopetest/scope /dependency此时如果项目需要将各个模块的junit版本统一为4.9那么到各个工程中手动修改无疑是非常不可取的。使用继承机制就可以将这样的依赖信息统一提取到父工程模块中进行统一管理。 10.2 创建父工程 创建父工程和创建一般的Java工程操作一致唯一需要注意的是打包方式处要设置为pom。 10.3 在子工程中引用父工程 parent!-- 父工程坐标 --groupId.../groupIdartifactId.../artifactIdversion.../versionrelativePath从当前目录到父项目的pom.xml文件的相对路径/relativePath /parent此时如果子工程的groupId和version如果和父工程重复则可以删除。 10.4 在父工程中管理依赖 将Parent项目中的dependencies标签用dependencyManagement标签括起来 dependencyManagementdependenciesdependencygroupIdjunit/groupIdartifactIdjunit/artifactIdversion4.9/versionscopetest/scope/dependency/dependencies /dependencyManagement在子项目中重新指定需要的依赖删除范围和版本号 dependenciesdependencygroupIdjunit/groupIdartifactIdjunit/artifactId/dependency /dependencies十一、聚合 11.1 为什么要使用聚合 将多个工程拆分为模块后需要手动逐个安装到仓库后依赖才能够生效。修改源码后也需要逐个手动进行clean操作。而使用了聚合之后就可以批量进行Maven工程的安装、清理工作。 11.1 如何配置聚合 在总的聚合工程中使用modules/module标签组合指定模块工程的相对路径即可 modulesmodule../Hello/modulemodule../HelloFriend/modulemodule../MakeFriends/module /modules十二、常用网站 https://mvnrepository.com/ 十三、私服[了解] 13.1 概念 私服是架设在局域网的一种特殊的远程仓库目的是代理远程仓库及部署第三方构件。 有了私服之后当 Maven 需要下载依赖时直接请求私服私服上存在则下载到本地仓库否则私服请求外部的远程仓库将构件下载到私服再提供给本地仓库下载。 私服可以解决在企业做开发时每次需要的jar包都要在中心仓库下载,且每次下载完只能被自己使用,不能被其他开发人员使用 所谓私服就是一个服务器,但是不是本地层面的,是公司层面的,公司中所有的开发人员都在使用同一个私服 13.2 架构 无私服有私服[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-dlOPBR6m-1692863773000)(Pictures/私服1.png)][外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-flOxQw1Q-1692863773000)(Pictures/私服2.png)] 我们可以使用专门的 Maven 仓库管理软件来搭建私服比如Apache ArchivaArtifactorySonatype Nexus。这里我们使用 Sonatype Nexus 13.3 Nexus安装【了解】 13.3.1 下载 官网https://blog.sonatype.com/下载地址https://help.sonatype.com/repomanager2/download/download-archives---repository-manager-oss 13.3.2 安装 下载nexus-2.x-bundle.zip,解压即可 13.4 启动【了解】 解压后在bin目录中执行 nexus install 在系统中安装nexus服务nexus uninstall 卸载nexus服务nexus start 启动服务nexus stop 停止服务 13.5 Nexus登录【了解】 访问私服http://localhost:8081/nexus/ 登录Nexus才可以使用Nexus管理功能[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-mZTvO38O-1692863773001)(Pictures/私服_login.jpg)] [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ZyXD3gkJ-1692863773001)(Pictures/私服_login2.jpg)] 13.6 仓库列表【了解】 仓库类型描述group包含多个仓库通过group库的地址可以从包含的多个仓库中查找构件hosted私服 服务器本地的仓库其中存储诸多构件proxy代理仓库其会关联一个远程仓库, 比如中央仓库aliyun仓库向该仓库查找构件时如果没有会从其关联的仓库中下载 仓库名描述Releases存放项目的稳定发布版本一个模块做完后如果需要共享给他人可以上传到私服的该库Snapshots对应不稳定的发布版本3rd party存放中央仓库没有的 如ojdbc.jar可以上传到私服的该库中 仓库列表[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-1FTxfKVG-1692863773001)(Pictures/私服_list.jpg)] 13.7 Maven配置私服 【重点】 在maven中配置私服使得maven可以从私服上获取构件 13.7.1 仓库组 而此时就有问题私服中有很多仓库每个仓库都有自己的url则项目中配置哪个仓库呢 ? 私服中有一个仓库组组中包含多个仓库可以指定仓库组的url即可从多个仓库中获取构件 | 仓库组 注意proxy的仓库排序在最后 | 13.7.2 Maven关联私服 配置settings.xml设置私服地址、认证等信息 serversserver idnexus-public/id !-- nexus的认证id --usernameadmin/username !--nexus中的用户名密码--passwordadmin123/password /server /servers profilesprofile idnexus/id repositories repository idnexus-public/id !--nexus认证id 【此处的repository的id要和 server的id保持一致】--!--name随便--nameNexus Release Snapshot Repository/name !--地址是nexus中仓库组对应的地址--urlhttp://localhost:8081/nexus/content/groups/public//urlreleasesenabledtrue/enabled/releases snapshotsenabledtrue/enabled/snapshots /repository/repositories pluginRepositories !--插件仓库地址各节点的含义和上面是一样的--pluginRepository idnexus-public/id !--nexus认证id 【此处的repository的id要和 server的id保持一致】--!--地址是nexus中仓库组对应的地址--urlhttp://localhost:8081/nexus/content/groups/public//urlreleasesenabledtrue/enabled/releases snapshotsenabledtrue/enabled/snapshots /pluginRepository /pluginRepositories /profile /profiles activeProfilesactiveProfileyourjdk/activeProfile!-- 使私服配置生效 --activeProfilenexus/activeProfile /activeProfiles至此Maven项目中需要依赖时Maven会从私服中下载 13.8 Maven项目部署到私服 执行 mvn deploy 即可将项目部署到私服对应的仓库中此时项目中的打包方式多为jar 但需要提前在项目的pom.xml中配置部署私服仓库位置如下 ...dependencies...../dependencies!-- 在项目的pom.xml中 配置私服的仓库地址可以将项目打jar包部署到私服 --distributionManagementrepositoryidnexus-public/id !-- nexus认证id --urlhttp://localhost:8081/nexus/content/repositories/releases/url/repositorysnapshotRepositoryidnexus-public/id !-- nexus认证id --urlhttp://localhost:8081/nexus/content/repositories/snapshots/url/snapshotRepository/distributionManagement /project注意如上的 repository的 id 依然是要和settings.xml中配置的server中的id 一致才能通过私服的认证

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/932043.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

遵义建设厅网站官网搞一个网站花多少钱

文章目录 1. 大概说明2. 详细分析2.1 .orElse 操作2.2 .orElse 的作用:避免空指针异常2.3 为什么要用?2.4 orElseGet如何使用2.5 orElse和orElseGet的区别 1. 大概说明 这篇文章的目的是为了说明: orElse 如何使用orElseGet 如何使用两者的…

网站开发实训要求建设个读书网站大约需要投入多少钱

在IRC中常见人问起,学C/C,在Linux下用什么工具好。有推荐vi/vim和emacs的,个人认为,那太难为像我们这样的初学者了。印象中,KDE中的KDeveloper非常的不错,简直就跟VC是一样的强大和方便。几年没用过了&…

墨西哥证券交易所(BMV)等多个交易所股票数据API对接文档

本文档详细说明如何对接StockTV全球股票API中的墨西哥股票数据。墨西哥股票市场是拉丁美洲重要的金融市场之一,包含墨西哥证券交易所(BMV)等多个交易所。 认证方式 所有API请求都需要在URL参数中包含API Key: key=您…

Kubernetes技术详解-从理论到实践-(5)-控制器-Deployment - 详解

Kubernetes技术详解-从理论到实践-(5)-控制器-Deployment - 详解pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "C…

项目案例作业2

案例中的 setter/getter 模式与封装性(姓名:周广磊 学号:202421336092) 2.1 什么是 setter/getter? setter 方法(也称为修改器方法)和 getter 方法(也称为访问器方法)是面向对象编程中用于操作类私有属性的公…

P5664 [CSP-S2019] Emiya 家今天的饭 题解

题目传送门 洛谷 P5664 前言 本题解为作者整合了自己学习其他题解后为自己写的用以复习的笔记,不喜勿喷谢谢,但是有逻辑错误或语言不清晰之处欢迎提出! 题目描述 Emiya 是个擅长做菜的高中生,他共掌握 \(n\) 种烹饪…

网站建设艾瑞市场分析英国设计网站

目录 Optional 的方法 Optional实例 《天道》丁元英经典语录 所谓真经,就是能够达到寂空涅盘的究竟法门。可悟不可修。修为成佛,在求。悟为明性,在知。修行以行制性。悟道以性施行。觉者由心生律;修者以律制心,不落恶果者有信无证,住因住果,住念住心,如是生灭。不昧…

谷歌网站开发用什么框架next wordpress

近日,JetBrains 对外发布两项重要产品更新:专为云端和其他服务器打造的远程开发解决方案,以及轻量级编辑器Fleet。 为IntelliJ 平台引入远程开发支持 在近期陆续发布的2021.3 版本的各 IDE 中,JetBrains 向 IntelliJ 平台添加了远…

PWN手的成长之路-11-CISCN 2019华北 PWN1-栈溢出

远程连接以下靶机,看看交互。file 查看程序文件。checksec 查看程序文件安全属性。开启了 NX 保护,栈上不可执行。IDA 打开程序文件。查看 ain 函数,发现调用了 func 函数。查看 func 函数。这里需要判断 v2 是否等…

sensitive-word:一个简单易用的敏感词过滤框架

这篇文章,分享一个开源项目:sensitive-word 。Github 地址:https://github.com/houbb/sensitive-wordsensitive-word 是一个功能强大的 Java 敏感词过滤框架,它不仅提供了基础的敏感词检测功能,还支持单词标签分类…

回归学习——包机制

回归学习 包机制 包的本质就是文件夹,用来区别类名的命名空间。一个文件在写的时候要把包写在最前面,一般利用公司倒置作为包名,为了能够使用一个包的成员,我们需要在Java程序中明确导入该包,方式为使用‘import语…

哈尔滨中小企业网站制作长沙知名网站

无论是前面学习的序列式容器,还是关联式容器,要想实现遍历操作,就必须要用到该类型容器的迭代器。当然,map 容器也不例外。C++ STL 标准库为 map 容器配备的是双向迭代器(bidirectional iterator)。这意味着,map 容器迭代器只能进行 ++p、p++、--p、p--、*p 操作,并且迭…

网站建设职责网站源码大全

一、需求 用户输入四个季度的数据&#xff0c;根据数据生成柱形统计图&#xff0c;浏览器预览效果如下 二、完整代码 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta name"viewport" content&q…

wordpress动漫主题秦皇岛seo排名

二叉树相关推荐 107.二叉树的层次遍历II199.二叉树的右视图637.二叉树的层平均值429.N叉树的层序遍历515.在每个树行中找最大值116.填充每个节点的下一个右侧节点指针117.填充每个节点的下一个右侧节点指针II总结 107.二叉树的层次遍历II 切片本质是一个结构体&#xff0c;包含…

vue 组件的常见8种通信方式

1、通过props传递‌,emit触发自定义事件: 父传子:子组件中通过props接收父组件传递的数据。 ‌子传父:子组件通过emit触发一个事件,父组件监听这个事件来接收数据。 vue2:通过props和$emit vue3:script中setup,…

技能训练企业网站建设可行性分析企业网站建设 百度文库

文章目录 参考环境常量数组不可变性版本限制 constdefine()构造大小写不敏感的常量$case_insensitive 参数PHP7.3PHP8 若 define() 在不支持常量数组的版本中运行 参考 项目描述搜索引擎Bing、GoogleAI 大模型文心一言、通义千问、讯飞星火认知大模型、ChatGPTPHP 手册PHP Man…

251008

251008美好的一天从现在开始

vue一键安装

vue一键安装 Microsoft Windows [版本 10.0.26100.4946] (c) Microsoft Corporation。保留所有权利。F:\vue_flask_project\vue_flask_project_one\vue>npm install --global vue-cli npm warn deprecated inflight…

佛山网站建设找哪家wordpress 中文版下载

内联式css样式&#xff0c;直接写在现有的HTML标签中 CSS样式可以写在哪些地方呢&#xff1f;从CSS 样式代码插入的形式来看基本可以分为以下3种&#xff1a;内联式、嵌入式和外部式三种。这一小节先来讲解内联式。 内联式css样式表就是把css代码直接写在现有的HTML标签中&am…

权威的网站建设排行榜男科医院哪家正规医院

模拟伪造请求 方法一&#xff1a;打断点模拟HTTP请求 1、浏览器页面填好内容后&#xff08;不要操作提交&#xff09;&#xff0c;打开fiddler&#xff0c;设置请求前断点&#xff0c;点击菜单fiddler,”Rules”\”Automatic Breakpoints”\”Before Requests” 2、在页面上点…