简介:主要用于Windows和linux写相关插件时弄框架使用,基础的配置操作介绍,适合初学者和不喜欢被代码的人,本篇博客是自己整理的笔记,有不足的地方请多多指教!!!
主要为Maven的核心配置文件的配置和本地仓库的配置。
指定本地仓库的位置:
<localRepository>F:\installSoftware\BigDatas\apache-maven-3.5.4\data-repositorylocalRepository>
其中F:\installSoftware\BigDatas\apache-maven-3.5.4\data-repository为您自己的本地仓库地址
其默认配置是国外镜像,下载相应资源时特别慢,为此最好更换成国内源,这里更换成的源是阿里云
指定下载源
<mirrors>
<mirror>
//镜像的id
<id>nexus-aliyunid>
//镜像用来取代的远程仓库,central是中央仓库的id
<mirrorOf>centralmirrorOf>
<name>Nexus aliyunname>
//镜像的仓库地址
<url>http://maven.aliyun.com/nexus/content/groups/publicurl>
mirror>
mirrors>
<profiles>
<profile>
<id>jdk-1.8id>
<activation>
<activeByDefault>trueactiveByDefault>
<jdk>1.8jdk>
activation>
<properties>
<maven.compiler.source>1.8maven.compiler.source>
<maven.compiler.target>1.8maven.compiler.target>
<maven.compiler.compilerVersion>1.8maven.compiler.compilerVersion>
properties>
profile>
profiles>
因为Maven默认不把依赖一起打包的,为此我们需要增加该配置
<project>
<build>
<plugins>
<plugin>
<artifactId>maven-assembly-pluginartifactId>
<configuration>
<descriptorRefs>
<descriptorRef>jar-with-dependenciesdescriptorRef>
descriptorRefs>
configuration>
<executions>
<execution>
<id>make-assemblyid>
<phase>packagephase>
<goals>
<goal>singlegoal>
goals>
execution>
executions>
plugin>
plugins>
build>
project>
为了确保程序正确可以将有可能重复的间接依赖排除。
添加如下代码即可
<dependencies>
<dependency>
<exclusions>
<exclusion>
<groupId>commons-logginggroupId>
<artifactId>commons-loggingartifactId>
exclusion>
exclusions>
dependency>
dependencies>
在实际开发中,往往存在jar包版本更新的情况,为此我们在配置时配置成同一管理目标会好很多
配置代码如下
<project>
<properties>
<spring.version>4.0.0.RELEASEspring.version>
properties>
<dependencies>
<dependency>
<groupId>org.springframeworkgroupId>
<artifactId>spring-contextartifactId>
<version>${spring.version}version>
dependency>
<dependency>
<groupId>org.springframeworkgroupId>
<artifactId>spring-webmvcartifactId>
<version>${spring.version}version>
dependency>
<dependency>
<groupId>org.springframeworkgroupId>
<artifactId>spring-jdbcartifactId>
<version>${spring.version}version>
dependency>
<dependency>
<groupId>org.springframeworkgroupId>
<artifactId>spring-ormartifactId>
<version>${spring.version}version>
dependency>
dependencies>
project>
使用继承机制就可以将这样的依赖信息统一提取到父工程模块中进行统一管理。
在父module中的pom.xml中添加如下代码:
<project>
<groupId>com.lqs.mavengroupId>
<artifactId>ParentartifactId>
<packaging>pompackaging>
<version>1.0-SNAPSHOTversion>
project>
相关代码如下:
<parent>
<groupId>...groupId>
<artifactId>...artifactId>
<version>...version>
<relativePath>..relativePath>
parent>
<project>
<parent>
<groupId>com.lqs.mavengroupId>
<artifactId>ParentartifactId>
<version>1.0-SNAPSHOTversion>
<relativePath>../Parent/pom.xmlrelativePath>
parent>
project>
即用dependencyManagement标签把Parent项目中的dependencies标签包裹起来
相关代码片段如下:
<project>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>junitgroupId>
<artifactId>junitartifactId>
<version>4.0version>
<scope>testscope>
dependency>
dependencies>
dependencyManagement>
project>
在总的聚合工程中使用modules/module标签组合,指定模块工程的相对路径即可
相关代码如下:
<project>
<modules>
<module>../MakeWorldmodule>
<module>../OurWorldsmodule>
<module>../HelloWorldmodule>
<module>../Hellomodule>
modules>
project>
可以到http://mvnrepository.com/搜索需要的jar包的依赖信息。
http://search.maven.org/88