如何使用 Intelij Idea + Maven 实现区分环境并快速编译生成不同环境 war 包

 
  
1.需要在 pom.xml 文件中增加以下配置文件
  中的 war
  其中resources_dev,resources_test,resources_pro 文件夹需要创建在与resources同级的目录下,这三个文件夹可以存放不同环境的jdbc.properties等配置文件


    
		
		
			dev
			
				resources_dev
			
			
				true
			
		


		
			test
			
				resources_test
			
			
				false
			
		


		
			pro
			
				resources_pro
			
			
				false
			
		
	
	
2.需要在 pom.xml 的  节点中增加以下配置文件
    
    
    SnailCore
    
    
    src/main/java
    
    
    
        
        
            ${basedir}/src/main/resources/
            
            
            
                *.*
                **/*.xml
                **/*.properties
            
            true
        
        
        
        
            ${basedir}/src/main/${env}
            
                *.*
                **/*.xml
                **/*.properties
            
            true
        
    
    
    如果 mapping.xml,或者其他文件类型文件没有存放在resources通用目录下还需要配置一个resource标签使class输出目录中包含该类文件,配置方法请参考:
    
        src/main/java
        
            **/*.xml
            **/*.ttf
            **/*.properties
        
    
    
 3.需要在 pom.xml 的  节点中增加以下配置文件
 
    
        
        
            org.apache.maven.plugins
            maven-compiler-plugin
            3.3
            
                1.7
                1.7
                utf8
                
                    
                    
                    


                    
                    ${java.home}/lib/rt.jar:${java.home}/lib/jce.jar
                
            
        
        
        	org.apache.maven.plugins
        	maven-surefire-plugin
        	2.12.4
        	
        		true
        		once
        		-Dfile.encoding=UTF-8
        	
        
        
            org.apache.maven.plugins
            maven-war-plugin
            
                
                ${basedir}/src/main/webapp
                true
            
            2.2
        
        
    
    
  4.配置不同环境生成war包的配置项
  
    1). 将鼠标移动到idea左下角,出现窗口菜单
    2). 选择Maven Projects, 则在idea的右侧会出现 Maven Projects 面板
        在面板中的目录有
        [Profiles] --> 包含了[1]中所配置的环境切换开关
        [项目名称] --> [Lifecycle],[Plugins],[Dependencies],我们配置好了以后还会多出来一个[Run Configurations]
    3). 展开[Lifecycle]会看到我们将要用到的工具[clean],[validate],[compile],[test],[package],[verify],[install],[site],[deploy]
    4). 在[package]上点击右键,选择 Create '项目名称 [package...]'
    5). 在弹出的窗口中需要填写一下信息
        Name : 创建的配置名称,比如要创建生成开发环境的war包,可以写成 war_dev (这里可以自定义)
        在Parameter选项卡中需要填写一下信息
            Working Directory : 项目的路径 (这里一般会自动带出)
            Command line : clean package -Dmaven.test.skip-true (clean 清理项目,会删除老的编译后的文件; package 生成war包; -Dmaven.test.skip-true 不打包不变异测试代码)
            Profiles (separated with space) : dev  (这里填写的就是 profiles 中对应的需要生成环境的值 dev/test/pro)
        点击右下角确定完成即可
        生成 开发,测试,生产的war包配置项方法相同
    6). 在上一步配置好后,会在 2) 中的[Run Configurations] 中出现已经配置的 生成war包的配置项
       如果需要生成对应环境的war包双击该配置项即可完成,在控制台可以看到整个生成war包的日志,如果有报错请自行调整
      
  5.配置不同环境生成的编译配置项
  
    1). 将鼠标移动到idea左下角,出现窗口菜单
    2). 选择Maven Projects, 则在idea的右侧会出现 Maven Projects 面板
        在面板中的目录有
        [Profiles] --> 包含了(1)中所配置的环境切换开关
        [项目名称] --> [Lifecycle],[Plugins],[Dependencies],我们配置好了以后还会多出来一个[Run Configurations]
    3). 展开[Lifecycle]会看到我们将要用到的工具[clean],[validate],[compile],[test],[package],[verify],[install],[site],[deploy]
    4). 在[install]上点击右键,选择 Create '项目名称 [install...]'
    5). 在弹出的窗口中需要填写一下信息
        Name : 创建的配置名称,比如要创建编译开发环境的配置项,可以写成 build_dev (这里可以自定义)
        在Parameter选项卡中需要填写一下信息
            Working Directory : 项目的路径 (这里一般会自动带出)
            Command line : clean install -Dmaven.test.skip-true (clean 清理项目,会删除老的编译后的文件; install 编译项目; -Dmaven.test.skip-true 不打包不变异测试代码)
            Profiles (separated with space) : dev  (这里填写的就是 profiles 中对应的需要生成环境的值 dev/test/pro)
        点击右下角确定完成即可
        生成 开发,测试,生产的编译配置项方法相同
    6). 在上一步配置好后,会在 2) 中的[Run Configurations] 中出现已经配置的 编译项目的配置项
        如果需要编译对应环境文件双击该配置项即可完成,在控制台可以看到整个编译项目的日志,如果有报错请自行调整
        
  6.针对 [4] [5] 的说明: 为了避免编译或者生产war包出错,建议将所有外部jar包全部配置在 pom.xml 文件中
        在 pom.xml 配置文件中配置本地lib下的外部jar包方法如下:
        
            
            
                
                apache-ant-zip
                
                apache-ant-zip
                
                2.3
                
                system
                
                ${lib.path}/apache-ant-zip-2.3.jar
            
                .
                .
                .
  
 7.配置不同环境的tomcat运行环境
 
    1). 创建tomcat(这里不做说明,不会请百度或google)
    2). 点击idea 右上角倒三角,选择[Edit Configurations...]
    3). 在弹出的窗口中需完成以下配置
        tomcat的基本配置(这里不做说明,不会请百度或google),name可以填写[project_dev] (这里可以自定义)
        在tomcat配置的[Server]选项卡中的最下方找到 [Before Launch] 面板并展开
        在展开的面板中点击"+"按钮在弹出的窗口中选择[Run Anther Configuration]
        在弹出的窗口中选择 [5] 中配置好的编译配置项 例如: build_dev
        
        创建 开发,测试,生产的创建tomcat配置项方法相同
        如果不需要本地测试某个环境的话,尽量不要使用这里配置tomcat,原因是这里配置的tomcat会重新编译项目,时间会比较长(建议使用基本的tomcat配置即可)

你可能感兴趣的:(Intellij,Idea,maven)