精华内容
下载资源
问答
  • Maven 动态切换多 profiles 编译环境

    pom.xml 配置

    <!-- Maven动态切换多profiles编译环境 -->
    <profiles>
        <!-- 开发环境 -->
        <profile>
            <id>dev</id>
            <!-- 默认激活 -->
            <activation>
                <activeByDefault>true</activeByDefault>
            </activation>
            <properties>
                <!-- 设置变量, 标签名称自定义, ***.properties 中可根据 @activeProfile@ 来取值 -->
                <activeProfile>dev</activeProfile>
            </properties>
        </profile>
    
        <!-- 测试环境 -->
        <profile>
            <id>test</id>
            <properties>
                <activeProfile>test</activeProfile>
            </properties>
        </profile>
    
        <!-- 生产环境 -->
        <profile>
            <id>prod</id>
            <properties>
                <activeProfile>prod</activeProfile>
            </properties>
        </profile>
    </profiles>
    

     

    application.properties 配置

    spring.profiles.active=@activeProfile@
    
    # 列出当前所有的 profile
    mvn help:all-profiles
    
    # 查看当前激活的 profile
    mvn help:active-profiles
    
    # 打包 dev 环境的
    mvn clean package -Dmaven.test.skip=true -P dev
    

     

    pom 属性

    • ${project.build.sourceDirectory}: 项目的主源码目录,默认为src/main/java
    • ${project.build.testSourceDirectory}: 项目的测试源码目录,默认为src/test/java
    • ${project.build.directory}: 项目构件输出目录,默认为target/
    • ${project.outputDirectory}: 项目主代码编译输出目录,默认为target/classes/
    • ${project.testOutputDirectory}: 项目测试代码编译输出目录,默认为target/test-classes/
    • ${project.groupId}: 项目的groupId
    • ${project.artifactId}: 项目的artifactId
    • ${project.version}: 项目的version,与${version}等价
    • ${project.build.fianlName}: 项目打包输出文件的名称。默认为${project.artifactId}-${project.version}

     

    资源管理标签

    <build>
    	<!-- 项目打包输出文件的名称, 默认: ${project.artifactId}-${project.version} -->
        <finalName>${project.artifactId}</finalName>
        
        <!-- 资源管理 -->
        <resources>
            <resource>
                <!-- 指定 resources 插件处理哪个目录下的资源文件  -->
                <directory>src/main/resources</directory>
                <!-- 打包后放在什么位置  -->
                <targetPath>${project.build.directory}/classes</targetPath>
                <!-- 是否为此资源启用筛选 -->
                <filtering>true</filtering>
                <!-- 包含的文件 -->
                <includes>
                    <include>application.properties</include>
                    <include>application-${activeProfile}.properties</include>
                    <include>**.xml</include>
                    <include>mybatis/**/**.xml</include>
                </includes>
                <!-- 排除的文件 -->
                <excludes>
                    <exclude>**.log</exclude>
                </excludes>
            </resource>
            <resource>
                <directory>src/main/resources/env</directory>
                <targetPath>${project.build.directory}/classes/env</targetPath>
                <includes>
                    <include>${activeProfile}/application.properties</include>
                </includes>
            </resource>
        </resources>
    </build>
    

     

    Reference

    展开全文
  • 第一步:配置maven父pom profiles环境: <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-...

    第一步:配置maven父pom profiles环境:




    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <configuration>
                    <source>1.8</source>
                    <target>1.8</target>
                    <encoding>UTF-8</encoding>
                </configuration>
            </plugin>
        </plugins>
        <resources>
            <resource>
                <filtering>true</filtering>
                <directory>src/main/resources</directory>
                <excludes>
                    <exclude>application-dev.yml</exclude>
                    <exclude>application-test.yml</exclude>
                    <exclude>application-prod.yml</exclude>
                    <exclude>application.yml</exclude>
                </excludes>
            </resource>
            <resource>
                <filtering>true</filtering>
                <directory>src/main/resources</directory>
                <includes>
                    <include>application-${profileActive}.yml</include>
                    <include>application.yml</include>
                </includes>
            </resource>
        </resources>
    </build>
    <profiles>
        <profile>
            <id>dev</id>
            <properties>
                <profileActive>dev</profileActive>
            </properties>
            <activation>
                <activeByDefault>true</activeByDefault>
            </activation>
        </profile>
        <profile>
            <id>test</id>
            <properties>
                <profileActive>test</profileActive>
            </properties>
            <activation>
                <activeByDefault>false</activeByDefault>
            </activation>
        </profile>
        <profile>
            <id>prod</id>
            <properties>
                <profileActive>prod</profileActive>
            </properties>
            <activation>
                <activeByDefault>false</activeByDefault>
            </activation>
        </profile>
    </profiles>

     

    第二步:修改主配置文件application.yml 中avtive为( '@profileActive@' )

    (注:如果高版本@profileActive@不生效,需要用单引号 ' ' 引起。)

    active: '@profileActive@'
    

    第三步:指定对应环境,打包构建:

    或命令:mvn clean package -Ptest

    展开全文
  • bootstrap配置文件是由springapplication 进行初始化 而不是和application一样 有bean 进行初始化, 大部分的配置中心都是由 ...但是 我们可以通过maven-resources-plugin 实现将制定目录的文件编译到指定目录下,从

    bootstrap配置文件是由springapplication 进行初始化 而不是和application一样 有bean 进行初始化,

    大部分的配置中心都是由 springApplication 直接进行初始化,这导致application的配置无法加载只能使用bootstrap配置文件,

    但是bootstrap 存在一个很难受的地方 它无法直接使用maven的@@关键字 进行动态切换配置文件

    但是 我们可以通过maven-resources-plugin 实现将制定目录的文件编译到指定目录下,从而实现动态编译切换配置文件

    <plugin>
        <artifactId>maven-resources-plugin</artifactId>
        <configuration>
            <outputDirectory>target/classes</outputDirectory>
            <resources>
                <resource>
                    <directory>src/main/resources/${profileActive}</directory>
                    <includes>
                        <include>bootstrap.yml</include>
                    </includes>
                </resource>
            </resources>
        </configuration>
    </plugin>

     

    展开全文
  • 修改Maven默认编译级别

    千次阅读 2018-04-19 14:13:17
    1 修改全局编译级别在settings.xml(.m2里面的优先)文件中找到&lt;profiles&gt;标签,然后在此标签内部增加如下配置:&lt;profile&gt; &lt;id&gt;jdk-1.8&lt;/id&gt; &lt;...

    1 修改全局编译级别

    在settings.xml(.m2里面的优先)文件中找到<profiles>标签,然后在此标签内部增加如下配置:

    <profile>
        <id>jdk-1.8</id>
        <activation>
            <jdk>1.8</jdk>
        </activation>
        <properties>
            <maven.compiler.source>1.8</maven.compiler.source>
            <maven.compiler.target>1.8</maven.compiler.target>
            <maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion>
        </properties>
    </profile>

    2 修改项目编译级别

    在项目的pom.xml文件中增加如下配置:

    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <configuration>
                    <source>1.8</source>
                    <target>1.8</target>
                </configuration>
            </plugin>
        </plugins>
    </build>

    保存后,项目右键->Maven->Update Project。

    展开全文
  • 经常maven文件修改的时候会出现默认为1.5的情况,所以我们只能自己进行修改 1、先找到mavenan安装文件 2、修改setting文件,找到<profiles></profiles>粘贴下面的这段话 <id>jdk-1.8</...
  • 首先打开file-》setting,找到maven,复制下图的路径,打开settings.xml 找到profiles标签: 添加如下部分 <profile> <id>jdk-1.8</id> <activation> <activeByDefault>true<...
  • Maven指定JDK编译版本

    2016-05-02 00:44:15
    Maven指定JDK编译版本 <profiles> <profile> <id>JDK1.8</id> <activation> <activeByDefault>true</activeByDefault> </activation> <...
  • Maven配置JDK编译版本

    千次阅读 2018-08-25 10:08:58
    打开Maven的settings.xml文件 在profiles节点中,加入如下配置 &lt;profile&gt; &lt;id&gt;jdk-1.8&lt;/id&gt; &lt;activation&gt; &lt;activeByDefault&gt;true&...
  • 1.在Maven项目的resources文件夹下 目录 文件 conf/dev/ db.properties log4j.properties conf/stg/ db.properties log4j.properties conf/prd/ db.properties log4j.properties 2.在...
  • 从JDK1.7编译通过的Web项目移植到JDK1.6 Maven,出现错误:   javac: 无效的目标版本: 1.7   使用Maven插件,修改JDK编译版本:     方法一:修改maven全局jdk    修改 安装目录\maven2\conf\...
  • Maven 多环境编译打包

    2019-08-19 10:20:30
    下面以log4j2.xml 日志的不同...项目使用的spring boot + apache编译插件 pom.xml配置: <project> ... <profiles> <profile> <id>dev</id> <!-- 默认激活开发配制,使用...
  • Maven编译时变量替换

    千次阅读 2017-02-07 10:06:50
    <profiles> <!-- 开发环境,默认激活 --> <id>dev <env>dev <!--测试环境-->
  • 使用Maven编译Java项目,默认的jdk编译版本是1.5 参考官方的说明:https://maven.apache.org/plugins/maven-compiler-plugin/compile-mojo.html 1. 全局配置:修改Maven配置文件%M2_HOME%\conf\settings.xml 在标签...
  • 其实在ant编译时很方便就能把不同环境 或者选择不同的配置文件打包。 今天就介绍一下使用MAVEN实现此功能。 二、配置项目 首先我们要创建一个maven项目 然后在resources目录下创建environme
  • profiles>元素内增加如下内容 <profile> <id>jdk17</id> <activation> <activeByDefault>true</activeByDefault> <jdk>1.7</jdk> </...
  • maven编译打包切换test,dev,prod环境

    千次阅读 2018-07-03 16:45:24
    1.pom.xml加上profile信息:(profiles与build是同级的) &lt;profiles&gt; &lt;profile&gt; &lt;id&gt;dev&lt;/id&gt; &lt;properties&gt; &lt;profiles....
  • 设置Maven的默认jdk编译版本

    千次阅读 2019-05-15 23:36:02
    如果你不在项目中指定jdk编译版本,maven默认使用jdk 1.5版本,可以修改maven的settings.xml指定jdk版本,在<profiles></profiles>增加如下配置 <profile> <id>jdk8</id> <...
  • 方案一:给maven 的settings.xml配置文件的profiles标签添加 <profile> <id>jdk-1.8</id> <activation> <activeByDefault>true</activeByDefault> <jdk>1.8</...
  • 1.pom.xml加上profile信息:(profiles与build是同级的) &lt;profiles&gt; &lt;profile&gt; &lt;id&gt;dev&lt;/id&gt; &lt;properties&gt; &lt;profiles....
  • Maven 使用指定 Java 版本编译项目 全局配置 全局配置是指在${MAVEN_HOME}confsettings.xml中进行配置,如果默认新建项目使用 jdk1.8构建,则在<profiles> </profiles>之间添加以下代码 <!-- 全部 ...
  • Maven编译及命令行输出 右侧Maven Projects, 打开, 选取某个Project打开至Lifecycle/package 或其他任何一个lifecycle选项, 在上面右键Run Maven Build, 就可以看到编译输出. 1. Profile的选择: 打开最上面的...
  • 最终效果:①:IDEA右边"maven"的工具栏 ②:项目配置的多环境选项入口【默认:dev】 ③:项目配置的多环境配置文件 ④:选择②操作后编译生成的配置文件【去除其它环境配置文件】 具体步骤: 步骤一:在...
  • 1、全局模式(settings.xml) <profiles> <profile> <id>jdk-1.8</id> <activation> <activeByDefault>...
  • maven新建的java SE项目,默认会使用1.5版本的JDK,并且也是编译成1.5的。如果在eclipse中项目手动修改下图两处配置,比如要修改为1.7,那么每次 maven-update project 的时候,又会变成1.5的了。 解决方案是...
  • Maven

    2019-09-15 21:23:47
    Maven是JAVA工程的管理工具,包括编译、打包、部署和执行测试等。官网上有详细的文档,可以按照下面的顺序阅读。 Maven in 5 Minutes Maven Getting Started Guide Introduction to Build Profiles ...

空空如也

空空如也

1 2 3 4 5 6
收藏数 105
精华内容 42
关键字:

mavenprofiles编译