• Maven笔记


    技能树

    Java开发须备技能: Java -> Maven -> JDK -> MySql -> MongoDb

    maven 环境变量

    vi /etc/profile

    export M3_HOME=/opt/maven
    export PATH=${M3_HOME}/bin:${PATH}
    

    source /etc/profile

    maven 帮助查看参数:

    mvn help:describe -Dplugin=dependency -Dmojo=copy-dependencies -Dfull

    打包命令

    mvn clean package -Dmaven.test.skip=true
    

    根本记不住,这应该是默认的命令, 写一个批处理 mvn.jar.bat 放到 windows 下. 执行时: mvn.jar

    • 指定配置文件
      --settings c:usersettings.xml

    Maven添加本地Jar包

     网上说了很多,只有它: http://blog.csdn.net/hhb200766/article/details/42168819 好用。
     Maven参数有几千个,与其说强大,不如说笨拙。
     添加本地lib文件夹做为仓库:
    
    <repository>
        <id>in-project</id>
        <name>In Project Repo</name>
        <url>${project.basedir}/lib</url>
    </repository>
    
    添加引用:
    <dependency>
        <groupId>jwd</groupId>  <!--自定义-->
        <artifactId>pzx_entity</artifactId>    <!--自定义-->
        <version>3.0.0</version> <!--自定义-->
        <!--<scope>system</scope>-->
        <!--<systemPath>${basedir}/lib/pzx_entity-3.0.0.jar</systemPath> &lt;!&ndash;项目根目录下的lib文件夹下&ndash;&gt;-->
    </dependency>
    
    lib文件夹下Jar包格式:
    /groupId/artifactId/version/artifactId-verion.jar
    

    排除包里的引用

    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-data-mongodb</artifactId>
        <exclusions>
            <exclusion>
                <groupId>org.mongodb</groupId>
                <artifactId>mongodb-driver</artifactId>
            </exclusion>
            <exclusion>
                <groupId>org.springframework.data</groupId>
                <artifactId>spring-data-mongodb</artifactId>
            </exclusion>
        </exclusions>
    </dependency>
    

    scope provided

    有时,一个项目中,只能有一个Jar包被引用.像:  spring-session
    在 entity中引用 spring-session 时, 就要使用:  scope  provided
    

    发布到私服

    http://www.cnblogs.com/fengpingfan/p/5192738.html
    http://www.cnblogs.com/winner-0715/p/7495179.html

    • 在nexus 上找到 releases , 设置 Deployment Policy -> Allow Redeploy , 同时, 点击 Summary , Copy distributionManagement 配置内容到 项目的 pom.xml 的根路径下
    • build 增加 plugin
    <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-source-plugin</artifactId>
                    <version>3.0.1</version>
                    <configuration>
                        <attach>true</attach>
                    </configuration>
                    <executions>
                        <execution>
                            <id>attach-sources</id>
                            <!--意思是在什么阶段打包源文件-->
                            <phase>package</phase>
                            <goals>
                                <goal>jar-no-fork</goal>
                            </goals>
                        </execution>
                    </executions>
                </plugin>
    
    • 使用配置文件部署 mvn deploy --settings E:optapache-maven-3.5.3xuauto.settings.xml
    • 如果本地项目的 pom.xml 依赖父pom.xml , 手动把 父 pom.xml 上传到 nexus 的 releases 库上. nexus 会自动同步到 public 上.

    Jar包瘦身

    http://rickgong.iteye.com/blog/2368985

    <build>
            <plugins>
                <plugin>
                    <groupId>org.springframework.boot</groupId>
                    <artifactId>spring-boot-maven-plugin</artifactId>
                    <configuration>
                        <layout>ZIP</layout>
                        <includes>
                            <include>
                                <groupId>jwd</groupId>
                                <artifactId>shop-entity</artifactId>
                            </include>
                            <include>
                                <groupId>jwd</groupId>
                                <artifactId>shop-orm</artifactId>
                            </include>
                            <include>
                                <groupId>jwd</groupId>
                                <artifactId>shop-mvc-base</artifactId>
                            </include>
                            <include>
                                <groupId>jwd</groupId>
                                <artifactId>shop-web-base</artifactId>
                            </include>
                        </includes>
                    </configuration>
                </plugin>
            </plugins>
    </build>
    

    mvn dependency:copy-dependencies -DoutputDirectory=C:/lib

    运行时:
    java -Dloader.path="c:/lib" -jar my-service.jar

    mvn-jar.cmd

    :: mvn-jar -f corp
    mvn clean package -Dmaven.test.skip=true %*
    

    window 下,把文件放到 c:windows 下 , 以及: C:Program FilesGitusrin 下。

  • 相关阅读:
    十二周学习进度
    冲刺第十天
    19.Maven 的单模块之 Spring MVC + Spring + Spring Data JPA 项目(基于 IntelliJ IDEA)
    18. Maven 的单模块 / 多模块之 Spring MVC + Spring + Mybatis 项目讲解(重点)
    16.Java Web 项目环境搭建
    17.Maven 项目介绍
    15.Postfix Completion 的使用
    16.插件讲解
    14.Emmet 讲解
    13.文件代码模板讲解
  • 原文地址:https://www.cnblogs.com/newsea/p/8548558.html
Copyright © 2020-2023  润新知