Eclipse,将src输出文件夹移动到WEB-INF / classes

时间:2013-04-16 03:48:24

标签: eclipse maven

我有像这样的文件夹结构

SampleWeb/
         src/main/
                  java : All java classes <br/>
                  resources : All properties file etc<br/>
                  webapp : WEB-INF folder and other jsp pages
         pom.xml

现在,默认的eclipse构建创建目标文件夹并将所有输出文件移动到目标文件夹,如

target/classes/
              all .class files (of src folder)
              all properties (of resource folder)
              jsp files (of webapp folder, and ofcourse WEB-INF folder too)

所以我正在寻找的是,如何使用eclipse构建动态地将所有.class文件移动到WEB-INF / classes文件夹。

2 个答案:

答案 0 :(得分:1)

名称中的真实内容:src包含来源。 src/main/webapp/src/main/webapp/WEB-INF/也是如此。它不应包含构建工件(例如类文件)。

使用Maven时,所有构建工件都会进入${project.build.directory},换句话说:target/

您希望将类文件放在scr/main/webapp/WEB-INF/中,就像您希望目录从中运行Web应用程序一样。不要将类文件(源文件!)移动到src/main/webapp/WEB-INF(更多源文件!),而应将它们移动到其他地方,通常低于target/

根据您的具体需求,有许多插件可以帮助您。有assembly plugin用于各种高级程序集任务,有更简单的插件提供复制功能,还有专门用于组装Web应用程序(WAR plugin)或运行它们的插件来自Maven(Tomcat plugin)。

这些允许你做任何事情,比如WAR,解压缩的WAR,瘦的WAR等。

使用m2e,您可以在Eclipse中进行编辑时在后台处理此事。

答案 1 :(得分:1)

您可以将我的示例作为参考。 我曾经将所有测试文件输出到classes-folder中,因此可以将它们编译和打包在一起。 这是代码段。

<!-- define the output directory of test files -->
    <testSourceDirectory>src/test/java</testSourceDirectory>
    <testOutputDirectory>target/classes</testOutputDirectory>
    <testResources>
        <testResource>
            <directory>src/test/java</directory>
            <excludes>
                <exclude>**/*.java</exclude>
            </excludes>
        </testResource>
    </testResources>