随笔-126  评论-247  文章-5  trackbacks-0

环境配置

在你的 pom.xml 文件中添加如下配置:
<profiles>
  <profile> 
    <id>prodid> 
    <properties>
      <env>prodenv> 
    properties>
    <activation>
      <activebydefault>trueactivebydefault> 
    activation>
  profile>
  <profile> 
    <id>testid> 
    <properties>
      <env>testenv> 
    properties>
  profile>
profiles>
上面定义了两套环境的配置,一套是用于生产环境的 prod,另外一套是用于测试环境的 test。profile 可以通过 -p 参数来激活,如 -ptest
(或 -p test)即可激活 test 配置。test 配置激活之后,通过 ${env} 表达式即可获得 test 配置的 test 字符串值。 

assembly 插件

maven-assembly-plugin 插件可以实现自定义打包。在你的 pom.xml 文件中添加如下配置:
<build>
  <plugins>
    <plugin>
      <artifactid>maven-assembly-pluginartifactid> 
      <version>2.4version>
      <executions>
        <execution>
          <id>make-assemblyid> 
          <phase>packagephase> 
          <goals>
            <goal>singlegoal>  
          goals>
        execution>
      executions>
      <configuration>
        <descriptors>
          <descriptor>assembly.xmldescriptor> 
        descriptors>
        <appendassemblyid>falseappendassemblyid> 
      configuration>
    plugin>
  plugins>
build>
在项目的根目录下创建一个 assembly.xml 文件(与 pom.xml 文件在同一个目录)。示例项目的结构如下:

不管是开发环境、测试环境还是生产环境等,它们通常只是配置文件不一样,下面实现根据不同的参数打包出适应各个不同环境的 war 包。

assembly.xml 配置

assembly.xml 文件的配置如下:
<assembly xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.3"
  xmlns:xsi
="http://www.w3.org/2001/xmlschema-instance"
  xsi:schemalocation
="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.3 
  http://maven.apache.org/xsd/assembly-1.1.3.xsd"
>
  
  <id>${project.artifactid}-assembly-${project.version}id>
  
  
  
  <includebasedirectory>falseincludebasedirectory>
  
  <formats>
    <format>warformat>
  formats>
  <filesets>
    
    <fileset>
      <directory>${project.build.outputdirectory}directory> 
      <outputdirectory>web-inf/classesoutputdirectory>
      <excludes>
        <exclude>**/conf/*.propertiesexclude>
      excludes>
    fileset>
    
    
    <fileset>
      <directory>${project.basedir}/env/${env}/confdirectory>
      <outputdirectory>web-inf/classes/confoutputdirectory>
    fileset>
    
    <fileset>
      <directory>${project.basedir}/src/main/webappdirectory>
      <outputdirectory>/outputdirectory>
    fileset>
  filesets>
  
  <dependencysets>
    <dependencyset>
      <outputdirectory>web-inf/liboutputdirectory>
    dependencyset>
  dependencysets>
assembly>

打包出适应各个环境的 war 包

选中项目右键 --> run as --> maven build... --> goals 栏输入 -ptest clean package

执行完成即可打包出测试环境的 war 包(示例源码下载:)。
你可以将打包出来的 war 包重命名为 root.war,然后把它丢到 tomcat 的 webapps 目录下,备份删除 root 文件夹,启动/重启 tomcat 即可。


  
posted on 2015-06-27 21:26 fancydeepin 阅读(16206) 评论(0)  编辑  收藏 所属分类: maven
网站地图