2

我有这样的文件夹结构

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 文件夹。

4

2 回答 2

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/.

有许多插件可以为您做到这一点,具体取决于您的确切需求。有用于各种高级装配任务的装配插件,有提供复制功能的更简单的插件,还有专门用于装配 Web 应用程序(WAR 插件)或从 Maven 运行它们的插件(Tomcat 插件)。

这些允许您执行任何操作,例如 WAR、未打包的 WAR、瘦 WAR 等。

使用m2e您可以在 Eclipse 中编辑时在后台处理此问题。

于 2013-04-16T04:49:15.817 回答
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>
于 2013-05-08T03:25:30.280 回答