我有像这样的文件夹结构
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文件夹。
答案 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>