开发者社区 问答 正文

maven插件maven-resources-plugin如何配置拷贝更换目录:配置报错 

resources目录如下:

resources目录下有一个config目录
config目录下有3个目录,dev,staging,production
pom.xml里面配置了profile

<profiles>
        <profile>
            <id>dev</id>
            <properties>
                <profile.name>dev</profile.name>
            </properties>
            <activation>
                <activeByDefault>true</activeByDefault>
            </activation>
        </profile>
        <profile>
            <id>production</id>
            <properties>
                <profile.name>production</profile.name>
            </properties>
        </profile>
        <profile>
            <id>staging</id>
            <properties>
                <profile.name>staging</profile.name>
            </properties>
        </profile>
    </profiles>

为了达到把

resources目录下的所有文件和目录(除了config) [此处标记为A]

config目录下的${profile.name}目录里面的文件 [此处标记为B]
拷贝到
target/${project}/WEB-INF/classes/config目录下
其中,A的目录结构不变,B目录里面的文件拷贝到
target/${project}/WEB-INF/classes/config目录下
比如说A里面有
log4j.xml
hibernate/**
struts/**
B里面有
jdbc.properties
最后,目录结构为:
target/${project}/WEB-INF/classes/config/jdbc.properties
target/${project}/WEB-INF/classes/config/log4j.xml
target/${project}/WEB-INF/classes/config/hibernate/**
target/${project}/WEB-INF/classes/config/struts/**
请问,怎么配置

展开
收起
kun坤 2020-06-02 16:14:13 1426 分享 版权
1 条回答
写回答
取消 提交回答
  • 不行的。我试过。
    如果楼主实在是想要这样,可以自己写maven插件实现 ######

    引用来自“大轮明王”的评论

    不行的。我试过。 如果楼主实在是想要这样,可以自己写maven插件实现 看来只能 自己写maven插件实现了######
    <targetPath>config</targetPath>
    ###### 搞定了,解决方法如下: 把src/main/resource/config目录,移动到src/main/config下 然后,pom.xml里面配置
    <resources>
    	<resource>
    		<directory>${project.basedir}/src/main/resources</directory>
    	</resource>
    	<resource>
    		<directory>${project.basedir}/src/main/config/${env}</directory>
    	</resource>
    </resources>
    另外,如果有用到assembly,则assembly.xml里面也要做配置
    <fileSet>
    	<directory>src/main/resources</directory>
    	<outputDirectory>conf</outputDirectory>
    </fileSet>
    <fileSet>
    	<directory>src/main/config/${env}</directory>
    	<outputDirectory>conf</outputDirectory>
    </fileSet>
    2020-06-02 16:14:21
    赞同 展开评论