maven应用笔记

1 ,三套生命周期

   1.1 clean 生命周期

         pre-clean

         clean 清理上次构建生产的文件

        post-clean

   1.2 default生命周期

        validate

        initialize

        generate-sources

        process-sources 处理项目主资源文件,默认处理src/main/resources下文件

        generate-resources

        process-resources

        compile 编译项目的主源码,默认编译src/main/java下的java文件到项目输出的主classpath

        process-classes

       generate-test-sources 

       process-test-sources 处理项目测试资源文件,默认处理src/test/resources下文件

       generate-test-resources

       process-test-resources  

       test-compile  编译项目的测试源码,默认编译src/test/java下的java文件

       process-test-classes

       test 进行单元测试

      prepare-package

      package 打包成可发布的格式

      pre-integration-test

      integration-test

      post-integration-test

      verify

     install 将包安装到maven本地仓库,以供其他项目使用

      deploy将最终报复制到远程仓库,以供其他人使用

    1.3 site生命周期

       pre-site

       site

       post-site

      site-deploy 将生产的项目发布到服务器上

 

执行每套生命周期后面的命令,都会默认执行前面的命令

 

2,常用mvn命令及命令组合

     mvn clean install 清理上次构建生产的文件,编译,打包并安装到本地maven库

     mvn clean deploy 清理上次构建生产的文件,编译,打包并安装到本地maven库,并发布到远程仓库

     mvn clean install -Dmaven.test.skip=true       和上面作用一样,跳过测试的编译和执行

  maven依赖分析的命令

    mvn dependency:list

    mvn dependency:tree

    mvn dependency:analyze

maven创建web项目

mvn archetype:generate -DgroupId=com.test -DartifactId=ScreenDisplayServer -DarchetypeArtifactId=maven-archetype-webapp -DinteractivMode=false

3,pom中的一些配置

给编译插件制定jdk的版本

<plugin>

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

<artifactId>maven-compiler-plugin</artifactId>

<version>2.3.2</version>

<configuration>

<source>1.6</source>

<target>1.6</target>

</configuration>

</plugin>

生产项目源码包

<plugin>

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

<artifactId>maven-source-plugin</artifactId>

<version>2.1.1</version>

<executions>

<execution>

<id>attach-sources</id>

<phase>verify</phase>

<goals>

   <goal>jar-no-fork</goal>

</goals>

 </execution>

</executions>

</plugin>

将项目部署到远程服务器

<plugin>

  <groupId>org.codehaus.cargo</groupId>

  <artifactId>cargo-maven2-plugin</artifactId>

  <version>1.0</version>

  <configuration>

   <container>

        <containerId>tomcat6x</containerId>     

        <type>remote</type>

     </container>   

        <configuration>

          <type>runtime</type>

           <properties>   

                         <cargo.remote.username>admin</cargo.remote.username>

            <cargo.remote.password></cargo.remote.password>

            <cargo.tomcat.manager.url>http://192.168.1.165:8080/manager</cargo.tomcat.manager.url>

                        </properties>   

        </configuration>

  </configuration>

</plugin>

执行mvn cargo:redeploy执行发布

修改超级pom中默认的java 和资源存放路径

    <sourceDirectory>${project.basedir}/src</sourceDirectory>

   <resources>

     <resource>

       <directory>${project.basedir}/src</directory>

       <excludes>

         <exclude>**/*.java</exclude>

       </excludes>

     </resource>

   </resources>

 

设置deploy的远程服务器

<repository>

<!-- 服务器 -->

<id>tmg-releases</id>

<!-- 服务器上传目录 -->

<url>http://192.168.101.100:9527/nexus-webapp-1.7.2/content/repositories/releases/</url>

</repository>

 

setting.xml中设置私服地址

 <profiles>

        <profile>

            <id>dev</id>

            <repositories>

                <repository>

                    <id>central</id>

                    <url>http://192.168.101.1002:9527/nexus-webapp-1.7.2/content/groups/public/</url>

                </repository>

            </repositories>

        </profile>

  </profiles>

 

   <activeProfiles>

        <activeProfile>dev</activeProfile>

    </activeProfiles>

修改本地默认maven 库地址

<localRepository>E:/MVN_ERP</localRepository>

 

web应用需要的依赖配置

 <dependency>

            <groupId>javax.servlet</groupId>

            <artifactId>servlet-api</artifactId>

            <version>2.5</version>

            <scope>provided</scope>

        </dependency>

        <dependency>

  <groupId>javax.servlet.jsp</groupId>

  <artifactId>jsp-api</artifactId>

  <version>2.1</version>

  <scope>provided</scope>

</dependency>

 

 

 

你可能感兴趣的:(java,maven,properties,服务器,resources)