Maven比较全、比较详细maven操作、pom.xml文件配置笔记,适合干大数据开发的人(Windows,Linux)

简介:主要用于Windows和linux写相关插件时弄框架使用,基础的配置操作介绍,适合初学者和不喜欢被代码的人,本篇博客是自己整理的笔记,有不足的地方请多多指教!!!

maven操作配置目录

  • maven基础配置
    • Maven的核心配置文件settings.xml
    • Maven的中央仓库配置
    • Maven的指定编译jdk版本配置
  • Maven打包的相关配置
    • 在pox.xml中配置支持依赖打包的代码段
    • 在pom.xml配置依赖排除
    • 统一管理目标Jar包的版本
  • Maven的继承
    • 创建父工程
    • 在子工程中引用父工程
    • 在父工程中管理依赖
  • Maven的聚合
    • 配置聚合
  • Maven酷站

maven基础配置

	主要为Maven的核心配置文件的配置和本地仓库的配置。

Maven的核心配置文件settings.xml

	指定本地仓库的位置:

  <localRepository>F:\installSoftware\BigDatas\apache-maven-3.5.4\data-repositorylocalRepository>

其中F:\installSoftware\BigDatas\apache-maven-3.5.4\data-repository为您自己的本地仓库地址

Maven的中央仓库配置

	其默认配置是国外镜像,下载相应资源时特别慢,为此最好更换成国内源,这里更换成的源是阿里云

	指定下载源
<mirrors>
    
	<mirror>
		//镜像的id
		<id>nexus-aliyunid>
		//镜像用来取代的远程仓库,central是中央仓库的id
		<mirrorOf>centralmirrorOf>
		<name>Nexus aliyunname>
		//镜像的仓库地址
		<url>http://maven.aliyun.com/nexus/content/groups/publicurl>
	mirror>
mirrors>

Maven的指定编译jdk版本配置

<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打包的相关配置

在pox.xml中配置支持依赖打包的代码段

	因为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>

在pom.xml配置依赖排除

为了确保程序正确可以将有可能重复的间接依赖排除。
添加如下代码即可
 <dependencies>
    <dependency>
        
        <exclusions>
	        <exclusion>
	        	<groupId>commons-logginggroupId>
	        	<artifactId>commons-loggingartifactId>
	        exclusion>
        exclusions>
    dependency>
dependencies>

统一管理目标Jar包的版本

在实际开发中,往往存在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>

Maven的继承

	使用继承机制就可以将这样的依赖信息统一提取到父工程模块中进行统一管理。

创建父工程

	在父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>

Maven的聚合

配置聚合

在总的聚合工程中使用modules/module标签组合,指定模块工程的相对路径即可
	相关代码如下:
<project>
	
	<modules>
	    <module>../MakeWorldmodule>
	    <module>../OurWorldsmodule>
	    <module>../HelloWorldmodule>
	    <module>../Hellomodule>
	modules>
project>

Maven酷站

可以到http://mvnrepository.com/搜索需要的jar包的依赖信息。

http://search.maven.org/88

你可能感兴趣的:(大数据开发相关技术学习笔记,linux,运维,maven,数据仓库,大数据)