Maven_基础
来源:互联网 发布:发达国家粉碎机 知乎 编辑:程序博客网 时间:2024/06/01 21:27
一、认识
在maven之前我们是怎样管理项目的,全手动--->半自动化的ant--->maven。(ant需要自己手动写maven的超级setting.xml中的配置)
二、使用Maven好处(为什么要使用)
1、约定优于配置的思想
比如我们将java和resources配置资源按照规定放置,则maven就会帮我们做很多的事。在
2、使用简单
3、测试支持(这点也是非常方便的)
4、构建简单
5、CI集成非常方便,如 maven+git+Jenkins
6、丰富的插件和自定义插件
三、maven结构
1、bin下面肯定就是一堆启动命令
2、boot 只有一个jar包(plexus-classworlds-2.5.2.jar) ,自己的类加载器(classloader)。
3、lib 与其他项目的lib一样
注意该包下的下解压后会maven-model-builder-3.2.5.jar在org\apache\maven\model目录下找到超级pom.xml,
下面就是基本配置,也是约定优于配置的设置:
<directory>${project.basedir}/target</directory>
<outputDirectory>${project.build.directory}/classes</outputDirectory>
<finalName>${project.artifactId}-${project.version}</finalName>
<testOutputDirectory>${project.build.directory}/test-classes</testOutputDirectory>
<sourceDirectory>${project.basedir}/src/main/java</sourceDirectory>
<scriptSourceDirectory>${project.basedir}/src/main/scripts</scriptSourceDirectory>
<testSourceDirectory>${project.basedir}/src/test/java</testSourceDirector>
4、conf 下最主要的setting文件,就是我们在ant中会自己手写的很多标签
1)、<localRepository>D:\maven\mvnRespo</localRepository> maven本地仓库的地址
2)、<interactiveMode>true</interactiveMode> 交互式模式,即可以提示,默认为关闭,只提示一个常用值
3)、pluginGroups> <pluginGroup>com.your.plugins</pluginGroup> </pluginGroups> 插件组,可以方便的不用写很多的版本信息等
4)、<profiles></profiles> 经常使用项目的pom.xml中的该标签(mvn -P dev,使用dev环境的配置)
四、maven的一些配置
1、配置MAVEN_HOME
在window中,配置用户的或全局的path,在linux在点bash_profile中进行配置
2、MAVEN_OPTS设置一些全局的maven命令参数(maven是使用Java写的,所以也可以设置一些jvm的参数配置)
3、配置setting.xml
1) settting的配置优先级:用户目录下的~/.m2/setting.xml的优先级高于安装目录下的conf/setting.xml
2) 由于我们很多时候需要到官方下载jar包等,但是速度会很慢,可以在setting中添加mirrors
<mirrors> <!-- mirror | Specifies a repository mirror site to use instead of a given repository. The repository that | this mirror serves has an ID that matches the mirrorOf element of this mirror. IDs are used | for inheritance and direct lookup purposes, and must be unique across the set of mirrors. | <mirror> <id>mirrorId</id> <mirrorOf>repositoryId</mirrorOf> <name>Human Readable Name for this Mirror.</name> <url>http://my.repository.com/repo/path</url> </mirror> --><mirror> <id>alimaven</id> <name>aliyun maven</name> <url>http://maven.aliyun.com/nexus/content/groups/public/</url> <mirrorOf>central</mirrorOf> </mirror><mirror><id>ui</id><mirrorOf>central</mirrorOf><name>Human Readable Name for this Mirror.</name><url>http://uk.maven.org/maven2/</url></mirror><mirror> <id>osc</id> <mirrorOf>central</mirrorOf> <url>http://maven.oschina.net/content/groups/public/</url> </mirror> <mirror> <id>osc_thirdparty</id> <mirrorOf>thirdparty</mirrorOf> <url>http://maven.oschina.net/content/repositories/thirdparty/</url> </mirror> </mirrors>
- Maven_基础
- maven_常用命令
- maven_安装
- Maven_入门
- MAVEN_生命周期
- maven_部署工程到私服
- maven_包丢失
- maven_学习笔记
- maven_仓库详解
- Maven_中文编码问题
- MAVEN_依赖管理
- Maven_使用和注意事项
- maven_如何导包
- maven_添加memcached-java-client
- Maven_生成项目站点报告
- MAVEN_下载、设置以及简介
- Maven_插件和私服
- maven_打包到私服工程中无法下载
- nrf51822如何让自己定义的服务也被识别为有意义的名称,如Battery Service?
- spring+mybatis错误原因
- 2018阿里巴巴秋招笔试编程题的自我探索
- Java/Android 设计模式系列(4)--抽象工厂模式
- 51采集PCF8591数据通过ESP8266上传C#上位机
- Maven_基础
- 从零开始的指针的应用2--符号
- java中JVM的原理
- Android NDK 开发:CMake 使用
- OpenJ_Bailian
- Java面试题
- 更换yum源的步骤
- 正则表达式匹配
- 你真的了解:IIS连接数、IIS并发连接数、IIS最大并发工作线程数、应用程序池的队列长度、应用程序池的...