我有具有相关联的EAR项目基本web应用程序(在蚀动态web项目)。我想确保我的JUnit测试代码停留了部署EAR文件。

在我的web项目我有所谓的“SRC”和一个名为“测试”源文件夹。我需要从当我出口它使用eclipse耳朵的“测试”源文件夹OUT保持的.class文件。

我知道这是微不足道的蚂蚁使用,但使用Eclipse的似乎是不可能的..右键单击项目,并导出EAR文件..测试类总是包含在内。

如果我手动编辑.setting / org.eclipse.wst.common.component.xml文件,删除与它的工作原理,但如果一些其他开发商更改与构建路径任何东西,它就会重新生成测试文件夹关联的标签...

我失去了一些东西明显..我GOOGLE了像疯了似的不得要领..检查Eclipse的文档,并很茫然..

有帮助吗?

解决方案

它似乎没有直接可能的,这是奇异的。这里有一对夫妇的解决方法,你可以尝试的。

请注意我的java文件从Web项目的Java项目移动(这可能是一个很好的做法反正跟随)。无论哪种方式,创建另一个“测试” Java项目和移动测试源到该项目。测试项目宣称的“主”的Java项目作为一个依赖,以便它可以访问该类型的测试,但不包括在战争中,所以测试类不会被部署。

另外,如果你想保持源在一个项目中,您可以配置测试项目中使用链接的资源。我已另一个答案,显示你如何可以使用链接的资源要共享的项目源位置。这种方法的测试源仍然是不为主要项目的构建路径上,所以不会在罐被捆绑,但在物理上位于项目所以源控制更简单。

其他提示

我在做,除了与PDE类似的东西,使用Eclipse 3.7。 我部署的Eclipse / OSGi的插件/捆绑,并且具有两个Java源目录:src和测试

我已经调整了两个eclipse项目文件的内容,以从构建单独的测试代码。

<强>的.classpath

<classpath>
    <classpathentry kind="src" path="src"/>
    <classpathentry export="false" kind="src" path="test"/>
    <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
    <classpathentry export="false" kind="lib" path="/thirdparty/junit/junit.jar"/>
    <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
    <classpathentry kind="output" path="bin"/>
</classpath>

这些变化通过读取动机

我不知道这是否会适用于您的情况,但我也不得不修改 build.properties 文件,以排除从生产的jar文件汇编“测试”的结果。

source.optimizing.jar = src/
#This doesn't contain test/ because we don't want it in the build.

bin.includes = META-INF/,\
               optimizing.jar
#The junit.jar is also exluded               

当我构建整个项目,测试文件是完全不存在。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top