Maven仓库集成与使用
创始人
2024-05-14 03:32:46
0

1.概念:Maven主要服务于基于java平台的项目构建(编译、测试、生成文档、打包、部署等),依赖管理和项目信息管理。
2.四大特性:
    2.1:依赖管理系统(jar包管理, jar 升级时修改配置文件即可)
        依赖(Coordination):由groupId、artifactId、version组成
        例如:

            org.apache.maven //定义当前Maven项目隶属的实际项目-公司名称。(jar包所在仓库路径) 由于Maven中模块的概念,因此一个实际项目往往会被划分为很多模块。 比如spring是一个实际项目,其对应的Maven模块会有很多,如spring-core,spring-webmvc等    maven-artifact // 该元素定义实际项目中的一个Maven模块-项目名,推荐的做法是使用实际项目名称作为artifactId的前缀。比如:spring-bean、spring-webmvc等        3.8.1 //该元素定义Maven项目当前所处的版本    jar                 test                             spring-core     org.springframework                      true        

2.2:多模块构建
    项目分离:dao层、Service层、Controller层
    在Maven中需要定义一个parent POM作为一组module的聚合POM。在该POM中可以使用 标签来定义一组子模块。parent POM不会有什么实际构建产出。而parent POM中的build配置以及依赖配置都会自动继承给子module。
2.3:一致的项目结构
    Maven在设计之初的理念就是Conversion over configuration(约定大于配置)。其制定了一套项目目录结构作为标准的Java项目结构,解决不同ide 带来的文件目录不一致问题。
2.4:一致的构建模型和插件机制

org.mortbay.jettymaven-jetty-plugin6.1.2510/test

3.Maven的安装与配置
    3.1:检查jdk版本(1.7或1.7以上):

java -version


3.2:maven下载地址:https://maven.apache.org/download.cgi

3.3.配置Maven环境变量

    3.3.1:解压

    3.3.2:我的电脑--->属性--->高级系统设置--->环境变量--->点系统变量下边的新建,然后按照我下边的配置即可

    3.3.3:在系统变量中的path中添加 %MAVEN_HOME2%\bin

    3.3.4:检测maven是否配置成功

4.MAVEN的项目结构:

${basedir} //存放pom和所有子项目|-- pom.xml |-- src| |-- main| | -- java //项目源码| | -- resources //项目资源| | -- test| | -- java //项目的测试类(如junit)| | -- resources //测试使用的资源

5.MAVEN的命令:
    5.1:命令格式:

mvn [plugin-name]:[goal-name] //命令代表的含义:执行 plugin-name 插件的 goal-name 目标

    5.2:常用命令:
    mvn –version 显示版本信息
    mvn clean 清理项目生产的临时文件,一般是模块下的target目录
    mvn compile 编译源代码,一般编译模块下的src/main/java目录
    mvn package 项目打包工具,会在模块下的target目录生成jar或war等文件
    mvn test 测试命令,或执行src/test/java/下junit的测试用例.
    mvn install 将打包的jar/war文件复制到你的本地仓库中,供其他模块使用
    mvn deploy 将打包的文件发布到远程参考,提供其他人员进行下载依赖
    mvn site 生成项目相关信息的网站
    mvn eclipse:eclipse 将项目转化为Eclipse项目
    mvn dependency:tree 打印出项目的整个依赖树
    mvn archetype:generate 创建Maven的普通java项目
    mvn tomcat7:run 在tomcat容器中运行web应用
    mvn jetty:run 调用 Jetty 插件的 Run 目标在 Jetty Servlet 容器中启动 web 应用
   
   5.3:命令参数:
       5.3.1:-D 传入属性参数
           mvn package -Dmaven.test.skip=true 以 -D 开头,将 maven.test.skip 的值设为 true ,就是告诉maven打包的时候跳过单元测试。
           mvn deploy-Dmaven.test.skip=true 代表部署项目并跳过单元测试。
    5.3.2:-P 使用指定的Profile配置

devdevtrueprepreprodprod

......
config/${env}.propertiessrc/main/resourcestrue......

//profiles 定义了各个环境的变量 id , filters 中定义了变量配置文件的地址,其中地址中的环境变量就是上面 profile 中定义的值, resources 中是定义哪些目录下的文件会被配置文件中定义的变量替换。通过maven可以实现按不同环境进行打包部署,例如:mvn package -Pdev -Dmaven.test.skip=true

6:IDEA编辑器集成Maven环境
    6.1:修改conf里settings.xml文件
        6.1.1:在MAVEN中的conf找到settings.xml,然后进去编辑localRepository,这里编辑的地址是你自己设置的

/path/to/local/repo


  
6.1.2:找到mirrors在其中间添加阿里云镜像

      nexus-aliyun  central    Nexus aliyun  http://maven.aliyun.com/nexus/content/groups/public


6.2:idea集成Maven


7.idea创建MAVEN项目

maven普通项目创建完成。
7.Maven的常见错误
 - 创建Maven后,plugins全部报错
        解决方案:
            首先,进入maven本地仓库,找到对应的包对应的下载失败的文件(不是jar是last开头的)全部删除

然后在idea中File | Settings | Build, Execution, Deployment | Build Tools | Maven中找到Maven home path 配置成自己所下载的Maven文件,并把User settings file ,Local repository与自己的文件对应

其次,在File | Settings | Build, Execution, Deployment | Build Tools | Maven | Importing中找到 VM options for importer 在其中填上

-Dmaven.wagon.http.ssl.insecure=true -Dmaven.wagon.http.ssl.allowall=true

并把JDK  for importer 改为c盘下载的jdk版本并点击右下方的apply,还要找到Runner并在Runner 中的VM Options也加上上边的话,JRE也换成c盘所下载jre的版本,最后返回主页面重新运行maven即可解决该问题,如果没解决,重新建一个项目,按照如上方法一步一步走。

 - 在上一步建好的基础上,有可能pom文件中build报错
      解决方案:
          把里面错的全删了,然后刷新

 - 在下载依赖的时候,下载完成后依赖爆红
     解决方案:
         下载对应文件的Download Sources and Documentation即可解决

最后,创作不易,请大家多多支持

相关内容

热门资讯

喜欢穿一身黑的男生性格(喜欢穿... 今天百科达人给各位分享喜欢穿一身黑的男生性格的知识,其中也会对喜欢穿一身黑衣服的男人人好相处吗进行解...
发春是什么意思(思春和发春是什... 本篇文章极速百科给大家谈谈发春是什么意思,以及思春和发春是什么意思对应的知识点,希望对各位有所帮助,...
网络用语zl是什么意思(zl是... 今天给各位分享网络用语zl是什么意思的知识,其中也会对zl是啥意思是什么网络用语进行解释,如果能碰巧...
为什么酷狗音乐自己唱的歌不能下... 本篇文章极速百科小编给大家谈谈为什么酷狗音乐自己唱的歌不能下载到本地?,以及为什么酷狗下载的歌曲不是...
家里可以做假山养金鱼吗(假山能... 今天百科达人给各位分享家里可以做假山养金鱼吗的知识,其中也会对假山能放鱼缸里吗进行解释,如果能碰巧解...
华为下载未安装的文件去哪找(华... 今天百科达人给各位分享华为下载未安装的文件去哪找的知识,其中也会对华为下载未安装的文件去哪找到进行解...
四分五裂是什么生肖什么动物(四... 本篇文章极速百科小编给大家谈谈四分五裂是什么生肖什么动物,以及四分五裂打一生肖是什么对应的知识点,希...
怎么往应用助手里添加应用(应用... 今天百科达人给各位分享怎么往应用助手里添加应用的知识,其中也会对应用助手怎么添加微信进行解释,如果能...
客厅放八骏马摆件可以吗(家里摆... 今天给各位分享客厅放八骏马摆件可以吗的知识,其中也会对家里摆八骏马摆件好吗进行解释,如果能碰巧解决你...
苏州离哪个飞机场近(苏州离哪个... 本篇文章极速百科小编给大家谈谈苏州离哪个飞机场近,以及苏州离哪个飞机场近点对应的知识点,希望对各位有...