网站排名怎么做 site优秀flash网站设计
web/
2025/10/2 4:39:59/
文章来源:
网站排名怎么做 site,优秀flash网站设计,做俄罗斯外贸的网站设计,百度搜不到我的网站Maven#xff1a;
Maven出现前的问题#xff1a; 假设你现在做了一个项目#xff0c;项目中肯定要用到一些jar包#xff0c;比如说mybatis#xff0c;log4j#xff0c;JUnit等#xff0c;除了这些之外#xff0c;你有可能用到你的同事开发的其他的东西#xff0c;比如…Maven
Maven出现前的问题 假设你现在做了一个项目项目中肯定要用到一些jar包比如说mybatislog4jJUnit等除了这些之外你有可能用到你的同事开发的其他的东西比如说别人做了一个财务模块或做了一个结算的模块你在这里边有可能要用到这些东西。假如有一天你们的项目中mybatis进行了一个升级但是它内部使用的JUnit没有升级你升级以后的mybatis假如要用5.0的JUnit而你项目中目前用的是4.0的会不会冲突必然会出问题这个时候管理起来会比较麻烦你需要各种调整。更有甚者假如同事做的这些东西升级了但又没有通知你这个时候就会出现几种严重的问题 jar包不统一jar不兼容工程升级维护过程操作繁琐 Maven的本质是一个项目管理工具将项目开发和管理过程抽象成一个项目对象模型POM Maven通过加载pom.xml这个配置文件就可以知道我们项目的相关信息如果我们做8个项目对应的是1个文件还是8个文件肯定是8个 Maven是如何帮我们进行项目资源管理的呢 通过依赖管理所谓依赖管理就是maven对项目所有依赖资源的一种管理它和项目之间是一种双向关系当我们做项目的时候maven的依赖管理可以帮助你去管理你所需要的其他资源当其他的项目需要依赖我们项目的时候maven也会把我们的项目当作一种资源去进行管理这就是一种双向关系。 Maven的依赖管理资源存在哪儿呢 本地仓库私服、中央仓库本地仓库顾名思义就是存储在本地的一种资源仓库如果本地仓库中没有相关资源可以去私服上获取私服也是一个资源仓库只不过不在本地是一种远程仓库如果私服上也没有相关资源可以去中央仓库去获取中央仓库也是一种远程仓库。Maven除了帮我们管理项目资源之外还能帮助我们对项目进行构建管理项目的整个生命周期当然它的这些功能需要使用一些相关的插件来完成当然整个生命周期过程中插件是需要配合使用的单独一个无法完成完整的生命周期。 Maven的作用 项目构建提供标准的跨平台的自动化构建项目的方式依赖管理方便快捷的管理项目依赖的资源jar包避免资源间的版本冲突等问题统一开发结构提供标准的统一的项目开发结构 各目录存放资源类型说明
src/main/java项目java源码src/main/resources项目的相关配置文件比如mybatis配置xml映射配置自定义配置文件等src/main/webappweb资源比如htmlcssjs等src/test/java测试代码src/test/resources测试相关配置文件src/pom.xml项目pom文件
Maven环境搭建 maven的官网http://maven.apache.org/ 官方下载地址http://maven.apache.org/download.cgi maven各目录结构说明
bin可执行程序目录bootmaven自身的启动加载器confmaven配置文件的存放目录libmaven运行所需库的存放目录
Win系统环境配置
我的电脑--------属性---------高级系统设置----------新建系统变量MAVEN_HOME 新建系统环境变量MAVEN_HOME然后输入maven所在的路径
系统变量值就是maven软件的根目录
环境变量配置好之后需要测试环境配置结果在DOS命令窗口下输入以下命令查看输出如果能够看到输出的maven的版本信息代表配置成功
mvn -vMacOs系统配置
官网下载https://maven.apache.org/download.cgi
下载好将里面的apache-maven-3.6.1-bin.tar.gz解压到指定目录找个方便的层级不深的目录新建文件夹里面创建一个repository文件夹用作本地仓库再把maven里conf下的settings.xml拷贝过来然后编辑conf下的settings.xml配置文件两个配置文件要一致添加本地仓库和阿里镜像放在mirrors里本地仓库的随便放
全局settings与局部settings
全局settings当前计算机中Maven公共配置局部settings当前用户的配置本地仓库就是局部的
把settings文件里默认加的mirror标签注释掉换成下面的阿里云的镜像在国内使用会快一点 换成下面这个 !-- 配置阿里云镜像 --mirrorsmirroridnexus-aliyun/idmirrorOfcentral/mirrorOfnameNexus aliyun/nameurlhttp://maven.aliyun.com/nexus/content/groups/public/url/mirror/mirrors!-- 本地仓库 --localRepository这里写你的本地仓库路径例/Users/itzhuzhu/Desktop/Java/maven/repository/localRepository打开终端输入vim ~/.bash_profile添加maven路径信息最后面两行就是
# maven配置
export MAVEN_HOME/Users/itzhuzhu/Desktop/Java/maven/apache-maven-3.8.4
export PATH$PATH:$MAVEN_HOME/bin退出以后执行source .bash_profile刷新一下然后输入mvn -v显示下面这样的就是配置成功
itzhuzhuitzhuzhudeMacBook-Pro ~ % source .bash_profileitzhuzhuitzhuzhudeMacBook-Pro ~ % mvn -v
Apache Maven 3.8.4 (9b656c72d54e5bacbed989b64718c159fe39b537)
Maven home: /Users/itzhuzhu/Desktop/Java/maven/apache-maven-3.8.4
Java version: 11.0.13, vendor: Oracle Corporation, runtime: /Library/Java/JavaVirtualMachines/jdk-11.0.13.jdk/Contents/Home
Default locale: zh_CN_#Hans, platform encoding: UTF-8
OS name: mac os x, version: 10.16, arch: x86_64, family: mac仓库
仓库用于存储资源主要是各种jar包中央仓库maven团队自身维护的仓库里面所有的jar包都是开源的私服各公司/部门等小范围内存储资源的仓库私服也可以从中央仓库获取资源 私服的作用 保存具有版权的资源包含购买或自主研发的jar解决远程访问中中央仓库速度慢的问题一定范围内共享资源能做到仅对内不对外开放本地获取私服的私服有了就直接返回没有的话才去中央仓库获取 本地仓库开发者自己电脑上存储资源的仓库也可从远程仓库获取资源 坐标
坐标maven中的坐标用于描述仓库中资源的位置 https://repo1.maven.org/maven2/ maven坐标的作用 使用唯一标识唯一性定义资源位置通过该标识可以将资源的识别与下载工作交由机器完成。 maven坐标的主要组成如下 groupId定义当前资源隶属组织名称通常是域名反写如org.mybatiscom.itheima artifactId定义当前资源的名称通常是项目或模块名称如crmsms version定义当前资源的版本号 packaging定义资源的打包方式取值一般有如下三种 jar该资源打成jar包默认是jarwar该资源打成war包pom该资源是一个父资源表明使用maven分模块管理打包时只生成一个pom.xml不生成jar或其他包结构
如果要查询maven某一个资源的坐标可以去maven的仓库进行查询https://mvnrepository.com/在该网站中可直接搜索想要的资源然后就能得到该资源的坐标
maven构建命令
maven的构建命令以mvn开头后面添加功能参数可以一次性执行多个命令用空格分离这些在idea不需要手动。
mvn compile编译
编译完成后在项目project-java下多了一个目录target在这个目录下就存放的是maven编译好的一些东西和字节码文件
mvn clean清理
需要删除这些文件执行mvn clean命令即可清理掉后target目录也就消失了
mvn test测试
其中产生的test-classes就是测试代码的字节码文件surefire-reports是它产生的测试报告
mvn package打包
执行测试包中的测试程序只需执行mvn test命令即可
mvn install安装到本地仓库
输出会发现mvn install命令执行的时候也会将前面的命令都执行一遍maven是按照groupId/artifactId/version的结构在本地仓库进行存储
idea配置maven 新建java项目选择maven 新建web项目选择这个 打开idea的设置搜索maven然后修改下面三个地址就可以了 创建好了以后检查maven工程的格式和依赖
pom解析
?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/maven-v4_0_0.xsd!--指定pom模型的版本--modelVersion4.0.0/modelVersion!--打包方式web打wer包java打jar包--packagingwar/packagingnameuntitled2/name!--组织名--groupIdorg.example/groupId!--项目名--artifactIduntitled2/artifactId!--版本--version1.0-SNAPSHOT/version!--设置当前工程所有依赖--dependencies!--具体的依赖--dependencygroupIdjunit/groupIdartifactIdjunit/artifactIdversion4.11/versionscopetest/scope/dependency/dependencies!--构建--build!--设置插件--plugins!--具体的插件--plugingroupIdorg.apache.tomcat.maven/groupIdartifactIdtomcat-maven-plugin-it/artifactIdversion2.1/version/plugin/plugins/build/project检查maven是否可以下载
经过我无数小时的报错我总结了报错原因大多数是以下几点
标签的位置不对使用的是远程仓库导致下载不了解决办法就是settings.xml加阿里镜像要放在 标签里配置本地仓库两边的settings.xml文件要一致idea配置全局maven路径在电脑上查找.m2的文件夹直接给它全部干掉再查找一下.lastUpdate这种文件全部给它干掉
把下面常用的jar导入测试下载速度 dependenciesdependencygroupIdlog4j/groupIdartifactIdlog4j/artifactIdversion1.2.12/version/dependencydependencygroupIdcom.alibaba/groupIdartifactIddruid/artifactIdversion1.0.3/version/dependencydependencygroupIdcommons-logging/groupIdartifactIdcommons-logging/artifactIdversion1.2/version/dependencydependencygroupIdcom.fasterxml.jackson.core/groupIdartifactIdjackson-core/artifactIdversion2.12.0-rc1/version/dependencydependencygroupIdcom.fasterxml.jackson.core/groupIdartifactIdjackson-annotations/artifactIdversion2.12.0-rc1/version/dependencydependencygroupIdcom.fasterxml.jackson.core/groupIdartifactIdjackson-databind/artifactIdversion2.12.0-rc1/version/dependencydependencygroupIdcommons-dbcp/groupIdartifactIdcommons-dbcp/artifactIdversion1.4/version/dependencydependencygroupIdcommons-pool/groupIdartifactIdcommons-pool/artifactIdversion1.6/version/dependencydependencygroupIdorg.hamcrest/groupIdartifactIdhamcrest/artifactIdversion2.2/version/dependencydependencygroupIdorg.hamcrest/groupIdartifactIdhamcrest-all/artifactIdversion1.3/version/dependencydependencygroupIdcommons-io/groupIdartifactIdcommons-io/artifactIdversion2.8.0/version/dependencydependencygroupIdorg.hamcrest/groupIdartifactIdhamcrest-library/artifactIdversion2.2/version/dependencydependencygroupIdcommons-beanutils/groupIdartifactIdcommons-beanutils/artifactIdversion1.9.4/version/dependencydependencygroupIdc3p0/groupIdartifactIdc3p0/artifactIdversion0.9.1.2/version/dependencydependencygroupIdcom.jolbox/groupIdartifactIdbonecp/artifactIdversion0.8.0.RELEASE/version/dependencydependencygroupIdnet.sf.ehcache/groupIdartifactIdehcache-core/artifactIdversion2.6.8/version/dependencydependencygroupIdorg.quartz-scheduler/groupIdartifactIdquartz/artifactIdversion2.2.1/version/dependencydependencygroupIdmysql/groupIdartifactIdmysql-connector-java/artifactIdversion5.1.29/version/dependencydependencygroupIdcom.h2database/groupIdartifactIdh2/artifactIdversion1.3.175/version/dependencydependencygroupIdorg.hsqldb/groupIdartifactIdhsqldb/artifactIdversion2.3.2/version/dependencydependencygroupIdcom.fasterxml.jackson.jaxrs/groupIdartifactIdjackson-jaxrs-xml-provider/artifactIdversion2.3.1/version/dependencydependencygroupIdcom.alibaba/groupIdartifactIdfastjson/artifactIdversion1.1.39/version/dependencydependencygroupIdorg.apache.tiles/groupIdartifactIdtiles-core/artifactIdversion2.2.2/versionexclusionsexclusiongroupIdorg.slf4j/groupIdartifactIdjcl-over-slf4j/artifactId/exclusion/exclusions/dependencydependencygroupIdorg.apache.tiles/groupIdartifactIdtiles-jsp/artifactIdversion2.2.2/version/dependencydependencygroupIdorg.apache.tiles/groupIdartifactIdtiles-servlet/artifactIdversion2.2.2/version/dependencydependencygroupIdorg.apache.tiles/groupIdartifactIdtiles-template/artifactIdversion2.2.2/version/dependencydependencygroupIdjavax.servlet/groupIdartifactIdjavax.servlet-api/artifactIdversion3.0.1/versionscopeprovided/scope/dependencydependencygroupIdjavax.servlet/groupIdartifactIdjstl/artifactIdversion1.2/versionscopeprovided/scope/dependencydependencygroupIdtaglibs/groupIdartifactIdstandard/artifactIdversion1.1.2/versionscopeprovided/scope/dependencydependencygroupIdjavax.servlet.jsp/groupIdartifactIdjavax.servlet.jsp-api/artifactIdversion2.3.1/versionscopeprovided/scope/dependency!-- spring --dependencygroupIdorg.springframework/groupIdartifactIdspring-test/artifactIdversion4.0.2.RELEASE/versionscopetest/scope/dependencydependencygroupIdorg.springframework/groupIdartifactIdspring-core/artifactIdversion4.0.2.RELEASE/versionexclusionsexclusiongroupIdcommons-logging/groupIdartifactIdcommons-logging/artifactId/exclusion/exclusions/dependencydependencygroupIdorg.springframework/groupIdartifactIdspring-context/artifactIdversion4.0.2.RELEASE/version/dependencydependencygroupIdorg.springframework/groupIdartifactIdspring-beans/artifactIdversion4.0.2.RELEASE/version/dependencydependencygroupIdorg.springframework/groupIdartifactIdspring-expression/artifactIdversion4.0.2.RELEASE/version/dependencydependencygroupIdorg.springframework/groupIdartifactIdspring-aop/artifactIdversion4.0.2.RELEASE/version/dependencydependencygroupIdorg.springframework/groupIdartifactIdspring-aspects/artifactIdversion4.0.2.RELEASE/version/dependencydependencygroupIdorg.springframework/groupIdartifactIdspring-messaging/artifactIdversion4.0.2.RELEASE/version/dependencydependencygroupIdorg.springframework/groupIdartifactIdspring-instrument/artifactIdversion4.0.2.RELEASE/version/dependencydependencygroupIdorg.springframework/groupIdartifactIdspring-instrument-tomcat/artifactIdversion4.0.2.RELEASE/version/dependencydependencygroupIdorg.springframework/groupIdartifactIdspring-oxm/artifactIdversion4.0.2.RELEASE/version/dependencydependencygroupIdorg.springframework/groupIdartifactIdspring-jdbc/artifactIdversion4.0.2.RELEASE/version/dependencydependencygroupIdorg.springframework/groupIdartifactIdspring-orm/artifactIdversion4.0.2.RELEASE/version/dependencydependencygroupIdorg.springframework/groupIdartifactIdspring-tx/artifactIdversion4.0.2.RELEASE/version/dependencydependencygroupIdorg.springframework/groupIdartifactIdspring-jms/artifactIdversion4.0.2.RELEASE/version/dependencydependencygroupIdorg.springframework/groupIdartifactIdspring-web/artifactIdversion4.0.2.RELEASE/version/dependencydependencygroupIdorg.springframework/groupIdartifactIdspring-webmvc/artifactIdversion4.0.2.RELEASE/version/dependencydependencygroupIdorg.springframework/groupIdartifactIdspring-webmvc-portlet/artifactIdversion4.0.2.RELEASE/version/dependencydependencygroupIdorg.springframework/groupIdartifactIdspring-websocket/artifactIdversion4.0.2.RELEASE/version/dependencydependencygroupIdaopalliance/groupIdartifactIdaopalliance/artifactIdversion1.0/version/dependencydependencygroupIdorg.aspectj/groupIdartifactIdaspectjweaver/artifactIdversion1.7.4/version/dependencydependencygroupIdorg.springframework.security/groupIdartifactIdspring-security-config/artifactIdversion3.2.2.RELEASE/version/dependencydependencygroupIdorg.springframework.security/groupIdartifactIdspring-security-web/artifactIdversion3.2.2.RELEASE/version/dependencydependencygroupIdorg.springframework.security/groupIdartifactIdspring-security-taglibs/artifactIdversion3.2.2.RELEASE/version/dependencydependencygroupIdorg.springframework.webflow/groupIdartifactIdspring-webflow/artifactIdversion2.3.2.RELEASE/version/dependencydependencygroupIdorg.glassfish.web/groupIdartifactIdjavax.el/artifactIdversion2.2.3/version/dependencydependencygroupIdorg.mybatis/groupIdartifactIdmybatis/artifactIdversion3.2.5/version/dependencydependencygroupIdorg.mybatis/groupIdartifactIdmybatis-spring/artifactIdversion1.2.2/versionexclusionsexclusiongroupIdorg.springframework/groupIdartifactIdspring-asm/artifactId/exclusionexclusiongroupIdorg.springframework/groupIdartifactIdspring-tx/artifactId/exclusionexclusiongroupIdorg.springframework/groupIdartifactIdspring-jdbc/artifactId/exclusionexclusiongroupIdorg.springframework/groupIdartifactIdspring-aop/artifactId/exclusionexclusiongroupIdorg.springframework/groupIdartifactIdspring-core/artifactId/exclusionexclusiongroupIdorg.springframework/groupIdartifactIdspring-context/artifactId/exclusion/exclusions/dependencydependencygroupIdorg.slf4j/groupIdartifactIdslf4j-api/artifactIdversion1.7.6/version/dependencydependencygroupIdorg.slf4j/groupIdartifactIdjcl-over-slf4j/artifactIdversion1.7.6/version/dependencydependencygroupIdorg.slf4j/groupIdartifactIdjul-to-slf4j/artifactIdversion1.7.6/version/dependencydependencygroupIdch.qos.logback/groupIdartifactIdlogback-core/artifactIdversion1.1.1/version/dependencydependencygroupIdch.qos.logback/groupIdartifactIdlogback-classic/artifactIdversion1.1.1/version/dependencydependencygroupIdorg.logback-extensions/groupIdartifactIdlogback-ext-spring/artifactIdversion0.1.1/version/dependency/dependenciesMaven依赖管理 依赖是指在当前项目中运行所需的jar依赖配置的格式如下图 依赖传递
依赖传递 直接依赖在当前项目中通过依赖配置建立的依赖关系间接依赖被依赖的资源如果依赖其他资源则表明当前项目间接依赖其他资源直接依赖和间接依赖其实也是一个相对关系 项目A想用项目B的东西只需要把项目B的坐标加在pom文件里就可以了如果项目B还用到了项目C的东西在项目A也是可以用的 dependencies!--项目2的坐标--dependencygroupIdorg.example/groupIdartifactIdmaven01/artifactIdversion1.0-SNAPSHOT/version/dependency/dependencies依赖传递的冲突问题
在依赖传递过程中产生了冲突我们有三种优先法则
路径优先当依赖中出现相同资源时层级越深优先级越低反之则越高声明优先当资源在相同层级被依赖时配置顺序靠前的覆盖靠后的特殊优先当同级配置了相同资源的不同版本时后配置的覆盖先配置的
可选依赖
加optional标签设为true
作用不想让别人知道自己用的maven用了什么就用可选 dependenciesdependencygroupIdorg.example/groupIdartifactIdmaven01/artifactIdversion1.0-SNAPSHOT/versionoptionaltrue/optional/dependency/dependencies排除依赖
加exclusions复制要排除的资源信息 作用排除依赖指主动断开依赖的资源被排除的资源无需执行版本依赖传过来不想用就加这个 dependenciesdependency!--项目2的文件--groupIdorg.example/groupIdartifactIdmaven01/artifactIdversion1.0-SNAPSHOT/versionoptionaltrue/optionalexclusionsexclusiongroupIdjunit/groupIdartifactIdjunit/artifactId/exclusion/exclusions/dependency/dependencies依赖范围
依赖的jar默认情况可以在任何地方可用可以通过scope标签设定其作用范围
这里的范围主要是指以下三种范围
主程序范围有效src/main目录范围内测试程序范围内有效src/test目录范围内是否参与打包package指令范围内
此外scope标签的取值有四种compile,test,provided,runtime
这四种取值与范围的对应情况如下 依赖范围的传递性 Maven生命周期
maven的构建生命周期描述的是一次构建过程经历了多少个事件
生命周期是运行的阶段插件是为了支持声明周期存在构建过程就是靠这俩的
clean清理工作 pre-clean执行一些在clean之前的工作 clean移除上一次构建产生的所有文件 post-clean执行一些在clean之后立刻完成的工作 default核心工作例如编译测试打包部署等 执行test那就把test前面所有的都执行一遍执行default就把default前面的都执行一遍以此类推 site产生报告发布站点等 pre-site执行一些在生成站点文档之前的工作 site生成项目的站点文档 post-site执行一些在生成站点文档之后完成的工作为部署做准备 site-deploy将生成的站点文档部署到特定的服务器上 插件
插件与生命周期内的阶段绑定在执行到对应生命周期时执行对应的插件maven默认在各个生命周期上都绑定了预先设定的插件来完成相应功能插件还可以完成一些自定义功能
插件的配置方式如下 plugingroupIdorg.apache.maven.plugins/groupIdartifactIdmaven-source-plugin/artifactIdversion2.4/versionexecutionsexecutiongoals!-- 可以打多个包 --goaljar/goalgoaltest-jar/goal/goalsphasegenerate-test-resources/phase/execution/executions/plugin/plugins在maven官网中有对插件的介绍
http://maven.apache.org/plugins/index.html
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/85427.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!