Maven 2 Weblogic.xml替换

时间:2011-12-05 11:25:06

标签: maven-2 weblogic classpath war directory-structure

我在安装mvn后将weblogic.xml放在WEB-INF文件夹下时遇到问题。我的weblogic.xml文件在src / main / resources / weblogic.xml下,我希望它在安装后放在WEB-INF下。(顺便打包是“战争”)

我试过了:

<resources>
            <resource>
                <directory>src/main/resources</directory>
                <targetPath>../resources</targetPath>
                <excludes><exclude>web.xml</exclude><exclude>weblogic.xml</exclude></excludes>
            </resource>
            <resource>
                <directory>src/main/resources/config</directory>
                <targetPath>..</targetPath>
                <includes><include>weblogic.xml</include></includes>
            </resource>
        </resources>

它正在安装但是当我想要使用eclipse的类路径时:eclipse,它会给出错误:

  

描述资源路径位置类型无法在输出文件夹中嵌套输出文件夹“ResponseManager / target / WEB-INF / resources”   'ResponseManager / target / WEB-INF'ResponseManager构建路径构建   路径问题

因为类路径中的这个conf:

  <classpathentry kind="src" path="src/main/resources" output="target/WEB-INF/resources" excluding="web.xml|weblogic.xml|**/*.java"/>
  <classpathentry kind="src" path="src/main/resources/config" output="target/WEB-INF" including="weblogic.xml" excluding="**/*.java"/>

有什么想法吗?

1 个答案:

答案 0 :(得分:6)

通常情况下,src/main/resources下的文件会在已编译的类文件中打包,在一个Web应用程序中,它们将放在WEB-INF/classes中。你有什么理由不能把这些放在标准路径src/main/webapp下吗?

如果您需要打包不在src/main/webapp文件夹中的其他文件,那么最好在war插件中配置这些资源,如下所示:

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-war-plugin</artifactId>
    <version>2.1</version>
    <configuration>
        <webResources>
            <resource>
                <directory>src/main/config</directory>
                <targetPath>WEB-INF</targetPath>
                <includes>
                    <include>weblogic.xml</include>
                </includes>
            </resource>
        </webResources>                    
    </configuration>
</plugin>

应该可以像上面那样指定targetPath,但我认为在源文件夹中重现想要的目录结构会更清晰。