zoukankan      html  css  js  c++  java
  • maven常用命令

    环境变量配置

    1、确认JAVA_HOME 环境变量配置eg:C:Program FilesJavajdk1.8.0_102
    2、配置MAVEN_HOME 环境变量配置eg:C:adengsoftapache-maven-3.3.9
    3、新增Path变量 eg:%MAVEN_HOME%in

    配置本地仓库地址:
    在形如:C:adengsoftapache-maven-3.3.9conf 目录下编辑setting.xml 搜索 localrepository 关键字
    <localRepository>/path/to/local/repo</localRepository> 相对路径,相对于maven安装的磁盘
    <localRepository>c:/path/to/local/repo</localRepository>指定磁盘和路径

    高速仓库,系好安全带:http://www.cnblogs.com/keitsi/p/6000649.html
    <mirror>
    <id>alimaven</id>
    <name>aliyun maven</name>
    <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
    <mirrorOf>central</mirrorOf>
    </mirror>

    安装jar到本地仓库:mvn install:install-file -DgroupId=pinyin4clj -DartifactId=pinyin4clj -Dversion=0.3.0 -Dpackaging=jar -Dfile=E: mppinyin4clj-0.3.0.jar -DgeneratePom=true

    安装jar到项目:mvn install:install-file -DgroupId=com.imooc.maven -DartifactId=maven01 -Dversion=1.0-SNAPSHOT -Dpackaging=jar -Dfile=D:javam2 epositorycomimoocmavenmaven011.0-SNAPSHOTmaven01-1.0-SNAPSHOT.jar -DgeneratePom=true -DlocalRepositoryPath=C:adengworkkukiicorejavasrcmain esourceslib2

    maven 构建框架慢 添加 archetypeCatalog=internal

    查看maven版本:mvn -version
    怎么查看maven本地仓库地址: mvn help:effective-settings

     查看激活的profile:mvn help:active-profiles

    激活指定的profilemvn -P dev package

    filtering using resources:http://maven.apache.org/plugins/maven-resources-plugin/examples/filter.html

    指定不filter的二进制文件:http://maven.apache.org/plugins/maven-resources-plugin/examples/binaries-filtering.html

    Getting a report of dependencies:(Apache Maven Cookbook chapter5)

        mvn dependency:list

        mvn dependency:tree

    Getting into dependency and avoiding dependency hell:

        mvn dependency:tree

    Downloading dependencies into a folder:(download dependencies in the target/dependency folder)

        mvn dependency:copy-dependencies

        mvn dependency:copy-dependencies -DoutputDirectory=target/dependencies    --change to the designation folder

        mvn dependency:copy-dependencies -Dmdep.copyPom=true -Dmdep.useRepositoryLayout=true    ---keep the folder layout

    detect the unused/undeclared dependencies:

        mvn dependency:analyze

    Chapter6:Code Quality Plugins

    jacoco:

    若没有生成测试报告(${basedir}/target/site/jacoco) 请确保maven-surefire-plugin 的 skipTests = true

    若遇到如下错误,说明二进制文件被损坏了,如下错误

    java.util.zip.ZipException: invalid literal/length code in JacocoPublisher

    大神的解决方案:http://www.cnblogs.com/llxrl/p/5884978.html

    原因:maven从resources中读取资源时默认会进行过滤,其中包含了重新编码,因此如果资源文件与maven的编码环境不同时,会导致文件损坏。

    解决:(方案1)在pom.xml中设置filtering为true时则过滤

    <filtering>true</filtering>

    因此将其置false。

    (方案2)将maven-resources-pligin中的encoding改为源文件的编码方式,这个比较复杂,因为我们有时候不知道源文件的编码方式,尤其是在使用第三方jar的时候

    <encoding>源文件的编码方式(比如IS0-8859-1)</encoding>

    (方案3)把资源文件zip解压后放入resources,但是要是二进制文件的话这招也不好使

    我的终极解决方案:(指定二进制类型不被过滤,一劳永逸)

     1             <plugin>
     2                 <groupId>org.apache.maven.plugins</groupId>
     3                 <artifactId>maven-resources-plugin</artifactId>
     4                 <version>3.0.2</version>
     5                 <configuration>
     6                     <encoding>UTF-8</encoding>
     7                     <resources>
     8                         <resource>
     9                             <directory>${basedir}/src/main/resources</directory>
    10                         </resource>
    11                         <resource>
    12                             <directory>${basedir}/src/main/resources</directory>
    13                             <includes>
    14                                 <include>*.properties</include>
    15                             </includes>
    16                             <filtering>true</filtering>//这只指定过滤的文件类型,把影响降低到最小
    17                         </resource>
    18                         <resource>
    19                             <directory>${basedir}/src/main/java</directory>
    20                             <includes>
    21                                 <include>**/*.properties</include>
    22                             </includes>
    23                         </resource>
    24                     </resources>
    25                     <!--指定替换文件的原文件-->
    26                     <filters>
    27                         <filter>${basedir}/src/main/resources/my-filter-values.properties</filter>
    28                     </filters>
    29                     <nonFilteredFileExtensions>
    30                         <nonFilteredFileExtension>jar</nonFilteredFileExtension>  //指定jar文件不被过滤,当然也可以添加其他的二进制文件
    31                     </nonFilteredFileExtensions>
    32                 </configuration>
    33             </plugin>

     另:插件生成测试类http://www.cnblogs.com/adeng/p/7181418.html

     cobertura:

    mvn cobertura:cobertura

    可设置测试代码覆盖率低于多少自动失败,下面的设置是,测试代码覆盖率低于85%自动失败

    命令:mvn cobertura:check

    <plugin>
    <groupId>org.codehaus.mojo</groupId>
    <artifactId>cobertura-maven-plugin</artifactId>
    <version>2.7</version>
    <configuration>
    <check>
    <branchRate>85</branchRate>
    <lineRate>85</lineRate>
    <haltOnFailure>true</haltOnFailure>
    </check>
    </configuration>
    <executions>
    <execution>
    <goals>
    <goal>check</goal>
    </goals>
    </execution>
    </executions>
    </plugin>

     PMD:

      mvn pmd:pmd pmd:cpd

    Copy/Paste Detector(CPD) that finds duplicated code.
    发现重复代码利器

     CheckStyle:

      mvn checkstyle:checkstyle

     FindBugsy:

       mvn clean compile findbugs:findbugs

     Generating source references with Maven JXR Plugin:

       mvn jxr:jxr

    the jxr generates the cross-reference ,Once the cross reference exists.code quality tools, such as PMD and CheckStyle,link to this reference automatically by using  the following steps:

      mvn jxr:jxr checkstyle:checkstyle

    SonarQube:

     这个最牛逼

      1、下载:https://www.sonarqube.org/downloads/

      2、解压安装启动,访问默认网址:http://localhost:9000

     Use the following step to analyze the code with the Maven SonarQube plugin:

      mvn sonar:sonar

    Chapter7:Reporting and Documentation

    Documenting with the Maven Site plugin:

      mvn site

      用到的插件:

           <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-project-info-reports-plugin</artifactId>
                    <version>2.9</version>
                </plugin>

    Generating Javadoc for a Site:

      mvn site

      用到的插件:

       <reporting>
            <plugins>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-javadoc-plugin</artifactId>
                    <version>2.10.4</version>
                    <configuration>
                        <charset>UTF-8</charset>
                        <encoding>UTF-8</encoding>
                        <docencoding>UTF-8</docencoding>
                    </configuration>
                </plugin>
            </plugins>
        </reporting>
    若输出到控制台的信息乱码:
    做如下配置:

     哎,命运多舛,一直折腾。

    另,idea自带的也有生成javadoc的工具:Tools-->Generate JavaDoc

    乱码处理:Other command line arguments 中填写:-encoding utf-8 -charset utf-8  但是没有maven-javadoc-plugin输出的信息详细。

     Generating source cross-reference for a site:

    1、 add the following code to the reporting section of pom.xml file:  

            <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-jxr-plugin</artifactId>
                    <version>2.5</version>
                    <reportSets>
                        <reportSet>
                            <id>aggregate</id>
                            <reports>
                                <report>aggregate</report>
                                <!--是否生成测试源码引用-->
                                <!--<report>test-aggregate</report>-->
                            </reports>
                        </reportSet>
                    </reportSets>
                </plugin>
           

    注:若使用阿里云仓库,贴入上面的代码后,maven可能不识别,做法是先在dependencis 中贴入jar包的依赖,下载jar后就可以了。 

    Generting unit test reports for a site:

    1、 add the following code to the reporting section of pom.xml file:  

                <!--unit test reports-->
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-surefire-report-plugin</artifactId>
                    <version>2.20</version>
                </plugin>

      mvn site

    Generating code coverage reports for a site:

     1、Add the following code in the <build> section of the pom.xml fle:

            <plugin>
                    <groupId>org.jacoco</groupId>
                    <artifactId>jacoco-maven-plugin</artifactId>
                    <version>0.7.9</version>
                    <executions>
                        <execution>
                            <id>default-prepare-agent</id>
                            <goals>
                                <goal>prepare-agent</goal>
                            </goals>
                        </execution>
                        <execution>
                            <id>default-report</id>
                            <phase>prepare-package</phase>
                            <goals>
                                <goal>report</goal>
                            </goals>
                        </execution>
                    </executions>
                </plugin>

    2、Add the following code in the reporting section of the pom.xml fle:

                <!--code coverage-->
                <plugin>
                    <groupId>org.jacoco</groupId>
                    <artifactId>jacoco-maven-plugin</artifactId>
                    <version>0.7.9</version>
                </plugin>

      mvn test site 

    Generating code quality reports for a site:

    1、Add the following code to the reporting section of the pom.xml fle:

                <!--code quality-->
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-pmd-plugin</artifactId>
                    <version>3.8</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-checkstyle-plugin</artifactId>
                    <version>2.17</version>
                </plugin>
                <plugin>
                    <groupId>org.codehaus.mojo</groupId>
                    <artifactId>findbugs-maven-plugin</artifactId>
                    <version>3.0.4</version>
                </plugin>

       mvn test site

    
    

        

  • 相关阅读:
    【教程】模拟登陆百度之Java代码版
    Redis错误配置详解
    Redis内存存储结构分析
    Notepad++安装插件
    hadoop2.x 常用端口及定义方法
    微信订阅号可以开通微信支付吗?
    CDH 的Cloudera Manager免费与收费版的对比表
    Hadoop调度框架
    再谈spark部署搭建和企业级项目接轨的入门经验(博主推荐)
    Hive环境的安装部署(完美安装)(集群内或集群外都适用)(含卸载自带mysql安装指定版本)
  • 原文地址:https://www.cnblogs.com/adeng/p/7101379.html
Copyright © 2011-2022 走看看