Maven3 实践

  1. maven 3 特性 http://www.developer.com/java/article.php/3908561/Top-10-New-Features-in-Maven-3.htm
    maven 标准目录 
    src -main
              –bin 脚本库
              –java java源代码文件
              –resources 资源库,会自动复制到classes目录里
              –filters 资源过滤文件
              –assembly 组件的描述配置(如何打包)
              –config 配置文件
              –webapp web应用的目录。WEB-INF、css、js等
          -test
              –java 单元测试java源代码文件
              –resources 测试需要用的资源库
              –filters 测试资源过滤库
              -site Site(一些文档)
    target
    LICENSE.txt Project’s license
    README.txt Project’s readme
    src
    实践
     
     MVN环境
               apache-maven-3.0.4-bin.tar.gz
               下载解压,配置MAVEN_HOME 和 添加至PATH
     构建工程
    >构建app应用
    mvn archetype:generate -DgroupId=com.mycompany.app -DartifactId=my-app -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false
    >构建web应用
    mvn archetype:generate  -DgroupId=com.byread -DartifactId=blogweb -DarchetypeArtifactId=maven-archetype-webapp  -DinteractiveMode=false
     命令
    >查看版本|测试|清理
      mvn -v
      mvn test  
      mvn clean
    >执行项目
      mvn package  -Dmaven.test.skip=true  
      mvn install -Dmaven.test.skip=true  
      mvn install assembly:assembly  
    >转eclipse项目 
      mvn eclipse:eclipse 
    >运行函数 
       mvn exec:java -Dexec.mainClass=com.test.Main  
       java -cp test.jar com.test.Main 
    >查看插件
       mvn help:describe -Dplugin=exec -Dfull
    >查看整个项目依赖的类树结构
       mvn dependency:tree
    >运行jetty
      1. mvn jetty:run
          mvn jetty:run -Djetty.port=8082  
      2.pom配置
    <plugin>
        <groupId>org.mortbay.jetty</groupId>
        <artifactId>jetty-maven-plugin</artifactId>
        <version>8.0.1.v20110908</version>
        <configuration>
            <scanIntervalSeconds>10</scanIntervalSeconds>
            <webAppConfig>
                <contextPath>/demo</contextPath>
            </webAppConfig>
        </configuration>
    </plugin>
    发布项目
    >发布到本地 
    mvn install:install -file -Dfile=[D:/opensource/dbunit-2.2/dbunit-2.2.jar] -DgroupId=[dbunit] -DartifactId=[junitperf] -Dversion=2.2 -Dpackaging=jar
    >发布到远程
    mvn deploy:deploy -file -DgroupId=[staticComparison] -DartifactId=[static-comparison] -Dversion=2.0 -Dpackaging=jar -Dfile=c:/staticComparison_2.0.jar -Durl=file:Y:\repo
    多模块项目
    ---- app-parent
                 |-- pom.xml (pom)
                 |-- app-util
                 |        |-- pom.xml (jar)
                 |-- app-service
                 |        |-- pom.xml (jar)
                 |-- app-dao
                 |        |-- pom.xml (jar)
                 |-- app-web
                          |-- pom.xml (war) 
    构建app-parent、app-util、app-dao、app-service
    mvn archetype:generate -DgroupId=com.test.app.xxx -DartifactId=app-xxx -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false
    构建app-web
    mvn archetype:generate -DgroupId=com.test.app.web -DartifactId=app-web  -DarchetypeArtifactId=maven-archetype-webapp -DinteractiveMode=false
    app-parent  pom.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/maven-v4_0_0.xsd">  
        <modelVersion>4.0.0</modelVersion>
        <groupId>com.test.app</groupId>  
        <artifactId>app-parent</artifactId>  
        <packaging>pom</packaging>  
        <version>1.0-SNAPSHOT</version>  
        <modules>  
            <module>app-util</module>  
            <module>app-dao</module>  
            <module>app-service</module>  
            <module>app-web</module>  
        </modules>  
    </project>  
    app-util  pom.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/maven-v4_0_0.xsd">  
            <parent>  
                <artifactId>app-parent</artifactId>  
                <groupId>com.test.app</groupId>  
                <version>1.0-SNAPSHOT</version>  
            </parent>  
            <modelVersion>4.0.0</modelVersion>  
            <groupId>com.test.app.util</groupId>  
            <artifactId>app-util</artifactId>  
            <packaging>jar</packaging>  
            <dependencies>  
                <dependency>  
                    <groupId>commons-lang</groupId>  
                    <artifactId>commons-lang</artifactId>  
                    <version>2.4</version>  
                </dependency>  
            </dependencies>  
    </project> 
     app-dao  pom.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/maven-v4_0_0.xsd">  
            <parent>  
                <artifactId>app-parent</artifactId>  
                <groupId>com.test.app</groupId>  
                <version>1.0-SNAPSHOT</version>  
            </parent>  
            <modelVersion>4.0.0</modelVersion>  
            <groupId>com.test.app.dao</groupId>  
            <artifactId>app-dao</artifactId>  
            <packaging>jar</packaging>    
            <dependencies>  
                <dependency>  
                    <groupId>com.test.app.util</groupId>  
                    <artifactId>app-util</artifactId>  
                    <version>${project.version}</version>  
                </dependency>  
            </dependencies>  
    </project>
    app-service  pom.xml(同app-dao  pom.xml) 
    app-web  pom.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/maven-v4_0_0.xsd">  
            <parent>  
                <artifactId>app-parent</artifactId>  
                <groupId>com.test.app</groupId>  
                <version>1.0-SNAPSHOT</version>  
            </parent>  
            <modelVersion>4.0.0</modelVersion>  
            <groupId>com.test.app</groupId>  
            <artifactId>app-web</artifactId>  
            <packaging>war</packaging>    
            <dependencies>  
                <dependency>  
                    <groupId>com.test.app.service</groupId>  
                    <artifactId>app-service</artifactId>  
                    <version>${project.version}</version>  
                </dependency>  
            </dependencies>  
    </project>
    注意:
    运行时,一定要  mvn  package -Dmaven.test.skip=true
    否则,请配置junit包!
    mvn archetype:generate -DgroupId=com.test.app.xxx -DartifactId=app-xxx -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值