`

maven中的灵活构建

 
阅读更多

1.为了是项目的配置更加的灵活,我们可以采用maven中的属性

 

maven中的属性分别为:

 

A.内置属性:主要有两个常用内置属性 ${basedir}表示项目根目录,即包含pom.xml文件的目录,${version}表示项目的版本

 

B.pom属性:${project.artifactId} 就对应了<artifactId>元素,${project.groupId} ,${project.version}

 

常用的POM属性

 

${project.build.sourceDirectory} :  项目的主源码目录,默认为:src/main/java。

 

${project.build.testSourceDiretory} :项目的测试源码目录, 默认为:src/test/java。

 

${project.build.directory} :项目构建输出目录,默认为target。

 

${project.outputDirectory} : 项目主代码编译输出目录,默认为: target/classess。

 

${project.testOutputDirectory} : 项目主代码编译输出目录,默认为: target/test-classess。

 

${project.groupId} : 项目的groupId。

 

${project.artifactId}: 项目的artifactId。

 

${project.version} :项目的版本。

 

${project.build.finalName} :项目打包输出文件的名称,默认为${project.artifactId} -${project.artifactId}。

 

 

C.自定义属性,我们可以通过<projecties>属性完成

 

<projecties>

     <struts.version>1.3</struts.version>

</projecties>

 

 

D.Settings属性:与POM属性同理,可以使用settings,开头的属性引用setting.xml文件中XML元素的值,如常用的

 

${settings.localRepository}指向用户本地仓库的地址。

 

E. java系统属性: 所有Java系统属性都可以使用Maven属性引用,例如${user.home}指向用户目录。用户可以使用

 

mvn help :system 查看所有的java系统属性。

 

F: 环境变量属性:所有环境变量都可以使用以 env 开头的Maven属性引用。例如 ${env.JAVA_HOME}

 

 

针对不同的环境,我们为了灵活切换,可以采用profile配置

 

例如:

<!-- 启动tomcat -->
  <profile>
   <id>tomcat</id>
   <build>
    <plugins>
     <plugin>
      <groupId>org.codehaus.cargo</groupId>
      <artifactId>cargo-maven2-plugin</artifactId>
      <version>1.2.3</version>
      <executions>
       <execution>
        <id>cargo-run</id>
        <phase>pre-integration-test</phase>
        <goals>
         <goal>run</goal>
        </goals>
        <configuration>
         <container>
          <containerId>tomcat7x</containerId>
          <home>D:\apache-tomcat-7.0.29</home>
         </container>
         <configuration>
          <type>standalone</type>
          <home>${project.build.directory}/tomcat7.0.29</home>
          <properties>
           <cargo.jvmargs>
            -Xdebug
            -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8787
                 </cargo.jvmargs>
          </properties>
         </configuration>
        </configuration>
       </execution>
      </executions>
     </plugin>
    </plugins>
   </build>
  </profile>

  <!-- 启动jboss -->
  <profile>
   <id>jboss</id>
   <build>
    <plugins>
     <plugin>
      <groupId>org.codehaus.cargo</groupId>
      <artifactId>cargo-maven2-plugin</artifactId>
      <version>1.2.3</version>
      <executions>
       <execution>
        <id>cargo-run</id>
        <phase>pre-integration-test</phase>
        <goals>
         <goal>run</goal>
        </goals>
        <configuration>
         <container>
          <containerId>jboss42x</containerId>
          <home>${env.JBOSS_HOME}</home>
         </container>
         <configuration>
          <type>standalone</type>
          <home>${project.build.directory}/jboss-4.2.3.GA</home>
          <properties>
           <cargo.jvmargs>
            -Xdebug
            -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8787
                 </cargo.jvmargs>
                 <cargo.servlet.port>17200</cargo.servlet.port>
          </properties>
         </configuration>
        </configuration>
       </execution>
      </executions>
     </plugin>
    </plugins>
   </build>
  </profile>

 </profiles>

 

如果采用tomcat运行则运行命令:mvn  clean install -Ptomcat,如果采用jboss运行,则运行命令:mvn  clean

 

install  -Pjboss。

 

这里可以灵活的部署和运行。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

分享到:
评论

相关推荐

    Maven灵活的构建

    很详细的Maven学习资料,值得大家学习一下。

    编程开发+Maven技术+Maven安装与配置+技术课程

    我们的目标是让学员不仅能够安装和配置Maven,还能够灵活运用Maven的各种高级功能,以适应不同项目的需求。 通过本课程的学习,学员将能够: 理解Maven的工作原理及其在现代软件开发中的重要性。 掌握Maven的安装...

    使用Eclipse构建Maven的SpringMVC项目

    使用Eclipse构建Maven的SpringMVC项目 Eclipse 是一个功能强大且通用的集成开发环境(IDE),它支持多种编程语言,包括 Java、C++、Python 等。而 Maven 是一个基于项目对象模型(POM)的项目管理工具,能够简化...

    maven window下安装包

    第14章:灵活的构建/14.2 Maven属性的使用/14.2.1 直接在POM文件中使用 第14章:灵活的构建/14.2 Maven属性的使用/14.2.2 使用注解:Parameter 第14章:灵活的构建/14.2 Maven属性的使用/14.2.3 属性解析/14.2.3.1 ...

    maven 3.2,3

    Maven采用了一种被称之为project object model (POM)概念来管理项目,所有的项目配置信息都被定义在一个叫做POM.xml的文件中,通过该文件,Maven可以管理项目的整个声明周期,包括编 译,构建,测试,发布,报告等等...

    maven详细使用教程

    maven是一个跨平台的项目管理工具,主要用于基于java平台的项目构建,依赖管理。maven的主要作用是解决项目中存在的问题,如多个项目之间的依赖关系、测试方法的执行和仓库的管理等。 maven的安装与配置 maven的...

    Maven实战(高清版)

    第1章 maven简介1.1 何为maven1.1.1 何为构建1.1.2 maven是优秀的构建工具1.1.3 maven不仅仅是构建工具1.2 为什么...灵活的构建第15章 生成项目站点第16章 m2eclipse第17章 编写maven插件第18章 archetype

    Maven实战.pdf

    系统性地阐述了使用Nexus建立私服、使用Maven进行测试、使用Hudson进行持续集成、使用Maven构建Web应用、Maven的版本管理、Maven的灵活构建、生成项目站点和Maven的m2eclipse插件等实用性较强的高级知识,读者可有...

    Maven实战 许晓斌 著

    系统性地阐述了使用Nexus建立私服、使用Maven进行测试、使用Hudson进行持续集成、使用Maven构建Web应用、Maven的版本管理、Maven的灵活构建、生成项目站点和Maven的m2eclipse插件等实用性较强的高级知识,读者可有...

    《Maven实战》

    系统性地阐述了使用Nexus建立私服、使用Maven进行测试、使用Hudson进行持续集成、使用Maven构建Web应用、Maven的版本管理、Maven的灵活构建、生成项目站点和Maven的m2eclipse插件等实用性较强的高级知识,读者可有...

    Maven实战 高清版

    系统性地阐述了使用Nexus建立私服、使用Maven进行测试、使用Hudson进行持续集成、使用Maven构建Web应用、Maven的版本管理、Maven的灵活构建、生成项目站点和Maven的m2eclipse插件等实用性较强的高级知识,读者可有...

    Nexus搭建Maven私服 +maven安装步骤

    在项目开发过程中,我们经常需要从 Maven 中央仓库和第三方 Maven 仓库下载构件,这个过程不仅加大了仓库的负载,也浪费了外网带宽。如果网速慢的话,还会影响项目的进度。很多情况下,项目的开发都是在内网进行的,...

    Maven的安装、配置及使用入门

    Maven 是一个功能强大且灵活的项目管理工具,它可以帮助开发者更好地管理项目的构建、报告和文档。但是,Maven 也存在一些局限性,例如,Maven 的配置文件 settings.xml 可以被多个项目共享,但是这也意味着,如果你...

    Maven实战 高清版pdf

    系统性地阐述了使用Nexus建立私服、使用Maven进行测试、使用Hudson进行持续集成、使用Maven构建Web应用、Maven的版本管理、Maven的灵活构建、生成项目站点和Maven的m2eclipse插件等实用性较强的高级知识,读者可有...

    maven 教程

    系统性地阐述了使用Nexus建立私服、使用Maven进行测试、使用Hudson进行持续集成、使用Maven构建Web应用、Maven的版本管理、Maven的灵活构建、生成项目站点和Maven的m2eclipse插件等实用性较强的高级知识,读者可有...

    Maven安装与配置的详细步骤

    Maven采用了一种被称之为project object model (POM)概念来管理项目,所有的项目配置信息都被定义在一个叫做POM.xml的文件中,通过该文件,Maven可以管理项目的整个声明周期,包括编 译,构建,测试,发布,报告等等...

    Maven:构建自动化与项目管理的利器.zip

    Maven作为一款强大的项目管理工具,为开发者提供了自动化构建、依赖管理、项目文档生成等功能。通过掌握Maven的核心概念和基本使用,开发者可以更加高效地管理项目,提高开发效率和质量。同时,Maven的灵活性和可...

    apache-maven-3.9.7-bin.zip

    构建过程管理:Maven定义了一套灵活的构建生命周期和插件机制,可以通过在pom.xml文件中配置不同的构建阶段和插件来定义项目的构建过程。这使得构建过程更加可控和可扩展,开发人员可以根据项目的需求进行自定义。 ...

    maven 3.3.3

    Maven采用了一种被称之为project object model (POM)概念来管理项目,所有的项目配置信息都被定义在一个叫做POM.xml的文件中,通过该文件,Maven可以管理项目的整个声明周期,包括编 译,构建,测试,发布,报告等等...

Global site tag (gtag.js) - Google Analytics