debian/linux 配置maven

1.下载maven相关包 http://maven.apache.org/download.cgi

linux版本: http://mirrors.shu.edu.cn/apache/maven/maven-3/3.5.2/binaries/apache-maven-3.5.2-bin.tar.gz

2.修改/etc/profile

nano etc/profile,在最后加上

#set maven home

export MAVEN_HOME=/light/maven/

export PATH=$PATH:/MAVEN_HOME/bin:$PATH

立即生效source profile

3.mvn -v查看maven版本信息

4.eclipse设置maven配置信息

5.maven-lib下setting.xml配置信息

<?xml version="1.0" encoding="UTF-8"?>  
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">
 
    <!--本地仓库。该值表示构建系统本地仓库的路径。其默认值为${user.home}/.m2/repository。  -->  
    <localRepository>/witts/work/maven_source/lib</localRepository> 

    <!--Maven是否需要和用户交互以获得输入。如果Maven需要和用户交互以获得输入,则设置成true,反之则应为false。默认为true。 -->  
    <interactiveMode>true</interactiveMode>
  
    <!--Maven是否需要使用plugin-registry.xml文件来管理插件版本。  -->  
    <!--如果设置为true,则在{user.home}/.m2下需要有一个plugin-registry.xml来对plugin的版本进行管理  -->  
    <!--默认为false   -->  
    <usePluginRegistry>false</usePluginRegistry>  

    <!--表示Maven是否需要在离线模式下运行。如果构建系统需要在离线模式下运行,则为true,默认为false。  -->  
    <!--当由于网络设置原因或者安全因素,构建服务器不能连接远程仓库的时候,该配置就十分有用。  -->  
    <offline>false</offline>  

    <!--当插件的组织Id(groupId)没有显式提供时,供搜寻插件组织Id(groupId)的列表。  -->  
    <!--该元素包含一个pluginGroup元素列表,每个子元素包含了一个组织Id(groupId)。  -->  
    <!--当我们使用某个插件,并且没有在命令行为其提供组织Id(groupId)的时候,Maven就会使用该列表。  -->  
    
    <!--默认情况下该列表包含了org.apache.maven.plugins。
    <pluginGroups>    
        <pluginGroup>org.codehaus.mojo</pluginGroup>   
    </pluginGroups>    -->  
  
    <!-- 所有构建活动的配置文件列表-->
    <!-- <activeProfiles>
          <activeProfile>alwaysActiveProfile</activeProfile>
          <activeProfile>anotherAlwaysActiveProfile</activeProfile>
         </activeProfiles> -->

    <!--配置服务端的一些设置。一些设置如安全证书不应该和pom.xml一起分发。这种类型的信息应该存在于构建服务器上的settings.xml文件中。 -->  
     <servers>
      <server>  
        <id>releases</id>  
        <username>admin</username>  
        <password>admin123</password>  
      </server> 
   
      <server>  
        <id>snapshots</id>  
        <username>admin</username>  
        <password>admin123</password>  
      </server>  
     </servers>   

  <!--为仓库列表配置的下载镜像列表。  -->  
  <mirrors> 
     <!--给定仓库的下载镜像。内网  -->   
     <mirror>
       <id>nexus</id>
       <mirrorOf>central</mirrorOf>
       <name>frame</name>
       <url>http://192.168.0.126:8081/nexus/content/groups/public/</url>
     </mirror> 
     <!--给定仓库的下载镜像。内网  --> 
     <mirror>
      <id>nexus</id>
      <mirrorOf>3rd</mirrorOf>
      <name>frame</name>
      <url>http://192.168.0.126:8081/nexus/content/repositories/thirdparty/</url>
     </mirror> 
     <!--阿里云MAVEN镜像地址 -->
     <mirror>
      <id>alimaven</id>
      <name>aliyun maven</name>
      <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
      <mirrorOf>central</mirrorOf>        
     </mirror>   
  </mirrors>

   
   <!--根据环境参数来调整构建配置的列表。settings.xml中的profile元素是pom.xml中profile元素的裁剪版本。-->  
   <!--它包含了id,activation, repositories, pluginRepositories和 properties元素。-->  
   <!--这里的profile元素只包含这五个子元素是因为这里只关心构建系统这个整体(这正是settings.xml文件的角色定位),而非单独的项目对象模型设置。-->  
   <!--如果一个settings中的profile被激活,它的值会覆盖任何其它定义在POM中或者profile.xml中的带有相同id的profile。  -->  
  <profiles>
        <!--设置全局JDK18-->  
    <profile>  
        <id>jdk18</id>  
        <activation>  
        <activeByDefault>true</activeByDefault>  
        <jdk>1.8</jdk>  
        </activation>  
        <properties>  
        <maven.compiler.source>1.8</maven.compiler.source>  
        <maven.compiler.target>1.8</maven.compiler.target>  
        <maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion>  
        </properties>   
    </profile>  
    
    <plugin></plugin>
 
    <!-- 配置远程发布到私服,mvn deploy-->  
    <distributionManagement> 
        <repository>
        <id>releases</id>
        <name>Nexus Release Repository</name>
        <url>http://192.168.0.126:8081/nexus/content/repositories/releases/</url>
        </repository>
        <snapshotRepository>
         <id>snapshots</id>
         <name>Nexus Snapshot Repository</name>
         <url>http://192.168.0.126:8081/nexus/content/repositories/snapshots/</url>
        </snapshotRepository>
  </distributionManagement>
 </profiles> 
 
</settings>

6.项目pox.xml信息如下

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>cc.zeelan.services</groupId>
    <artifactId>seller-auth-service</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <packaging>jar</packaging>

    <properties> 
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <!-- 私有包版本定义开始 -->
        <rpc.framework.spring.version>0.0.1-SNAPSHOT</rpc.framework.spring.version>
        <spring.version>5.0.2.RELEASE</spring.version>
        <store.entity.version>0.0.1-SNAPSHOT</store.entity.version>
        <product.entity.version>0.0.1-SNAPSHOT</product.entity.version>
        <cmqutils.version>0.0.1-SNAPSHOT</cmqutils.version>
        <mybatis.paginator.version>1.2.17.2</mybatis.paginator.version>
        <mybatis.version>3.4.2.1</mybatis.version>
        <!-- 私有包版本定义结束 -->
        
        <!-- 业务包版本定义开始 --> 
        <seller.auth.version>0.0.1-SNAPSHOT</seller.auth.version> 
        <seller.core.utils.version>0.0.1-SNAPSHOT</seller.core.utils.version><!-- 工具包 -->
        <!-- 业务包版本定义结束 --> 
        
        <mybatis.spring.version>1.3.1</mybatis.spring.version>
        <mysql.connector.java.version>8.0.8-dmr</mysql.connector.java.version> 
        <servlet.version>4.0.0</servlet.version> 
        <json.version>2.9.0</json.version>
        <druid.version>1.1.6</druid.version>
        <pinyin4j.version>2.5.0</pinyin4j.version>
        <com.github.abel533.version>2.3.4</com.github.abel533.version>
        <spring.data.redis.version>2.0.2.RELEASE</spring.data.redis.version>
        <redis.clients.version>2.9.0</redis.clients.version>
        <aspectjweaver.version>1.8.13</aspectjweaver.version>
        <javax.el.version>2.2.4</javax.el.version>
    </properties>

    <repositories>
        <repository>
            <id>nexus</id>
            <name>Team Nexus Repository</name>
            <url>http://192.168.0.126:8081/nexus/content/groups/public</url>
        </repository>
        <repository>
            <id>thirdparty</id>
            <name>Team Nexus Repository</name>
            <url>http://192.168.0.126:8081/nexus/content/repositories/thirdparty</url>
        </repository>
        <repository>
            <id>snapshots</id>
            <name>Team Nexus Repository</name>
            <url>http://192.168.0.126:8081/nexus/content/repositories/snapshots</url>
        </repository>
    </repositories>

    <dependencies>
        <dependency>
            <groupId>com.zeelan.app</groupId>
            <artifactId>seller-auth</artifactId>
            <version>${seller.auth.version}</version>
        </dependency>
        
        <dependency>
            <groupId>com.zeelan.app</groupId>
            <artifactId>seller-core-utils</artifactId>
            <version>${seller.core.utils.version}</version>
        </dependency>
        
        <dependency>
            <groupId>cc.zeelan.framework.rpc.spring</groupId>
            <artifactId>rpc-framework-spring</artifactId>
            <version>${rpc.framework.spring.version}</version>
        </dependency>
   
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-tx</artifactId>
            <version>${spring.version}</version>
        </dependency>
 
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-jdbc</artifactId>
            <version>${spring.version}</version>
        </dependency>
 
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-test</artifactId>
            <version>${spring.version}</version>
            <scope>test</scope>
        </dependency>
 
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>druid</artifactId>
            <version>${druid.version}</version>
        </dependency>

        <!-- ##########################################分页配置############################################# -->
        <dependency>
            <groupId>com.github.miemiedev</groupId>
            <artifactId>mybatis-paginator</artifactId>
            <version>${mybatis.paginator.version}</version>
        </dependency>

        <dependency>
            <groupId>org.mybatis</groupId>
            <artifactId>mybatis</artifactId>
            <version>${mybatis.version}</version>
        </dependency>

        <dependency>
            <groupId>org.mybatis</groupId>
            <artifactId>mybatis-spring</artifactId>
            <version>${mybatis.spring.version}</version>
        </dependency>
 
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>${mysql.connector.java.version}</version>
        </dependency>
 
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-webmvc</artifactId>
            <version>${spring.version}</version>
        </dependency>

        <dependency>
            <groupId>com.github.abel533</groupId>
            <artifactId>mapper</artifactId>
            <version>${com.github.abel533.version}</version>
        </dependency>

        <dependency>
            <groupId>org.aspectj</groupId>
            <artifactId>aspectjweaver</artifactId>
            <version>${aspectjweaver.version}</version>
        </dependency>
 
        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>javax.servlet-api</artifactId>
            <version>${servlet.version}</version>
        </dependency>
 
        <dependency>
            <groupId>com.fasterxml.jackson.core</groupId>
            <artifactId>jackson-databind</artifactId>
            <version>${json.version}</version>
        </dependency>

        <dependency>
            <groupId>org.springframework.data</groupId>
            <artifactId>spring-data-redis</artifactId>
            <version>${spring.data.redis.version}</version>
        </dependency>

        <dependency>
            <groupId>redis.clients</groupId>
            <artifactId>jedis</artifactId>
            <version>${redis.clients.version}</version>
        </dependency>

        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>${mysql.connector.java.version}</version>
        </dependency>
        <!-- ######################################数据库相关配置结束###################################### -->

        <!-- https://mvnrepository.com/artifact/com.belerweb/pinyin4j -->
        <dependency>
            <groupId>com.belerweb</groupId>
            <artifactId>pinyin4j</artifactId>
            <version>${pinyin4j.version}</version>
        </dependency> 
        
        <dependency>
           <groupId>javax.el</groupId>
           <artifactId>javax.el-api</artifactId>
           <version>${javax.el.version}</version>
        </dependency>
        <dependency>
           <groupId>org.glassfish.web</groupId>
           <artifactId>javax.el</artifactId>
           <version>${javax.el.version}</version>
        </dependency>
    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>2.3.2</version>
                <configuration>
                    <source>1.8</source>
                    <target>1.8</target>
                </configuration>
            </plugin>

            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-jar-plugin</artifactId>
                <configuration>
                    <source>1.8</source>
                    <target>1.8</target>
                    <archive>
                        <manifest>
                            <mainClass>cc.zeelan.service.store.init.App</mainClass>
                            <addClasspath>true</addClasspath>
                            <classpathPrefix>lib/</classpathPrefix>
                        </manifest>
                    </archive>
                </configuration>
            </plugin>

            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-surefire-plugin</artifactId>
                <version>2.18.1</version>
                <configuration>
                    <skipTests>true</skipTests>
                </configuration>
            </plugin>

            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-shade-plugin</artifactId>
                <version>3.0.0</version>
                <executions>
                    <execution>
                        <phase>package</phase>
                        <goals>
                            <goal>shade</goal>
                        </goals>
                        <configuration>
                            <transformers>
                                <transformer
                                    implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
                                    <resource>META-INF/spring.handlers</resource>
                                </transformer>
                                <transformer
                                    implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
                                    <mainClass>cc.zeelan.app.AppInit</mainClass>
                                </transformer>
                                <transformer
                                    implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
                                    <resource>META-INF/spring.schemas</resource>
                                </transformer>
                            </transformers>
                            <!-- <minimizeJar>true</minimizeJar> -->
                        </configuration>
                    </execution>

                </executions>
            </plugin>

            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-resources-plugin</artifactId>
                <executions>
                    <execution>
                        <id>copy-resources</id>
                        <phase>package</phase>
                        <goals>
                            <goal>copy-resources</goal>
                        </goals>
                        <configuration>
                            <encoding>UTF-8</encoding>
                            <outputDirectory>
                                ${project.build.directory}
                            </outputDirectory>   <!-- 表示把配置文件拷到和jar包同一个路径下 -->
                            <resources>
                                <resource>
                                    <directory>src/main/resources/</directory>
                                    <!-- <excludes> <exclude>*.xml</exclude> </excludes> -->
                                </resource>
                            </resources>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
        </plugins>
        <pluginManagement>
            <plugins>
                <!--This plugin's configuration is used to store Eclipse m2e settings 
                    only. It has no influence on the Maven build itself. -->
                <plugin>
                    <groupId>org.eclipse.m2e</groupId>
                    <artifactId>lifecycle-mapping</artifactId>
                    <version>1.0.0</version>
                    <configuration>
                        <lifecycleMappingMetadata>
                            <pluginExecutions>
                                <pluginExecution>
                                    <pluginExecutionFilter>
                                        <groupId>
                                            org.apache.maven.plugins
                                        </groupId>
                                        <artifactId>
                                            maven-antrun-plugin
                                        </artifactId>
                                        <versionRange>
                                            [1.8,)
                                        </versionRange>
                                        <goals>
                                            <goal>run</goal>
                                        </goals>
                                    </pluginExecutionFilter>
                                    <action>
                                        <ignore></ignore>
                                    </action>
                                </pluginExecution>
                            </pluginExecutions>
                        </lifecycleMappingMetadata>
                    </configuration>
                </plugin>
            </plugins>
        </pluginManagement>
    </build>

</project>