maven2 学习

    技术2022-05-12  8

    网上资料不多,收集了一些值得注意的。

    一、构建Maven远程仓库

    构建Maven远程仓库的方法很多,也很简单。常用的Web服务器(Apache,JBoss,Tomcat,...)都可以用于构建Maven远程仓库;而发布artifact时,也可以使用多种协议(FTP,SFTP,SSH,...)。

    此处使用RedHat AS 4.0 + Apache2.0.59,并应用SSH协议向远程仓库发布artifact。

    [1]在Apache的DocumnetRoot中新建目录maven2/repo,此处该目录的绝对路径为

    /usr/local/apache2/htdocs/maven2/repo

    [2]在本地Maven的settings.xml文件中设置Server,语句的形式如下:

    <servers>

     <server>

       <id>myrepo</id>

       <username>myuser</username>

       <password>mypasswd</password>

     </server>

    </servers>

    myuser/mypasswd是登录远程Linux系统时使用的用户名/密码。

    [3]在本地工程的pom.xml中进行如下形式的设置:

    <distributionManagement>

       <repository>

          <id>myrepo</id>

          <url>scp://Host/usr/local/apache2/htdocs/maven2/repo</url>

       </repository>

    </distributionManagement>

    此处id必须与前面设置的server中的id一致;scp是使用SSH协议的文件传输命令;Host是远程Linux服务器的IP地址或域名;/usr/local/apache2/htdocs/maven2/repo就是Maven仓库在远程服务器中的绝对路径。

    [4]在本地中使用命令mvn deploy发布artifact到远程仓库中。

    [5]启动Apache服务器,通过地址http://Host/maven2/repo,就可以看到刚刚发布artifact了。

    二、使用maven生成项目报告

    报告生成

    在pom.xml中project/ reporting /plugins节点写入要使用的plugin的相关配置就可以在mvn site的时候生成相应的报告页面(单元测试、javadoc、代码检查等等)。

    1、单元测试报告

    <plugin>

    <groupId>org.apache. maven .plugins</groupId>

    <artifactId> maven -surefire-report-plugin</artifactId>

    </plugin>

    2、jxr代码交互连接文档

    <plugin>

    <groupId>org.apache. maven .plugins</groupId>

    <artifactId> maven -jxr-plugin</artifactId>

    </plugin>

    3、javadoc

    <plugin>

    <groupId>org.apache. maven .plugins</groupId>

    <artifactId> maven -javadoc-plugin</artifactId>

    </plugin>

    4、PDM

    <plugin>

    <groupId>org.apache. maven .plugins</groupId>

    <artifactId> maven -pmd-plugin</artifactId>

    </plugin>

    5、checkstyle

    <plugin>

    <groupId>org.apache. maven .plugins</groupId>

    <artifactId> maven -checkstyle-plugin</artifactId>

    <configuration>

    <configLocation>config/ maven _checks.xml</configLocation>

    </configuration>

    </plugin>

    6、cobertura,代码测试覆盖情况报告

    <plugin>

    <groupId>org.codehaus.mojo</groupId>

    <artifactId>cobertura- maven -plugin</artifactId>

    </plugin>

    7、clirr检查当前Java包(包括binary和源代码)与先前所发布的Java包之间兼容问题

    <plugin>

    <groupId>org.codehaus.mojo</groupId>

    <artifactId>clirr- maven -plugin</artifactId>

    <configuration>

    <minSeverity>info</minSeverity>

    </configuration>

    </plugin>

     三、在maven中使用自己的checkstyle

    安装自己的jar包的存储仓库,将maven-checkstyle-plugin-2.1.pom中的依赖换成自己checkstyle包, <dependency> <groupId>checkstyle</groupId> <artifactId>checkstyle</artifactId> <version>4.3</version> </dependency> 然后在工程pom.xml中添加report插件,并更改checkstyle规则.xml就可以了 <reporting> <plugins>

    <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-checkstyle-plugin</artifactId> <configuration> <configLocation>${basedir}/checkstyle/checkstyle-4.3.xml</configLocation> </configuration> </plugin> </plugins> </reporting>


    最新回复(0)