将某些源文件排除在部署到容器之外

时间:2010-11-27 11:22:04

标签: eclipse deployment ear-file

我在Eclipse中有一个EJB项目,它包含两个源文件夹“ejbModule”和“test”

其中ejbModule包含ejbs的源代码,test包含JUnit测试的源代码。

当我使用右键单击导出ear文件时 - > export,我发现Junit测试的.class文件正在EAR中导出。

编辑:

那么,我怎样才能阻止这些源文件被部署到容器中,但同时我仍然需要eclipse将它们视为源文件?

(我在这里问同样的问题:exclude files from jar or war in eclipse

1 个答案:

答案 0 :(得分:1)

在eclipse 3.6中右键单击项目,按属性。然后转到“部署程序集”属性页面。在那里,您可以定义项目工件的哪些部分。

更新: 另一方面,WTP的GUI不支持构建器可以处理的所有内容。如果在项目根目录中编辑。settings/org.eclipse.wst.common.component文件(在3.5和3.6 eclipse中),则可以轻松排除源文件夹。它看起来像这样(我的一个项目的例子):

<?xml version="1.0" encoding="UTF-8"?>
<project-modules id="moduleCoreId" project-version="1.5.0">
    <wb-module deploy-name="gui">
        <wb-resource deploy-path="/WEB-INF/classes" source-path="/src/main/java"/>
        <wb-resource deploy-path="/WEB-INF/classes" source-path="/src/main/resources"/>
        <wb-resource deploy-path="/" source-path="/src/main/webapp"/>
        <dependent-module deploy-path="/WEB-INF/lib" handle="module:/resource/aoprules/aoprules">
            <dependency-type>uses</dependency-type>
        </dependent-module>
        <dependent-module deploy-path="/WEB-INF/lib" handle="module:/resource/base/base">
            <dependency-type>uses</dependency-type>
        </dependent-module>
        <property name="context-root" value="gui"/>
        <property name="java-output-path" value="/gui/target/classes"/>
    </wb-module>
</project-modules>

您只需删除project-modules/wb-module/wb-resource元素,其中src/testsource-path属性。然后刷新项目。