从 eclipse 导出 EAR 时如何过滤已部署的代码?

发布于 2024-07-28 02:39:59 字数 463 浏览 9 评论 0原文

我有一个基本的 Web 应用程序(Eclipse 中的动态 Web 项目)以及关联的 EAR 项目。 我试图确保我的 junit 测试代码不存在于部署 EAR 文件中。

在我的网络项目中,我有一个名为“src”的源文件夹和一个名为“test”的源文件夹。 当我使用 eclipse 导出它时,我需要将“test”源文件夹中的 .class 文件保留在 EAR 之外。

我知道使用 ant 这是微不足道的,但使用 eclipse 似乎是不可能的。右键单击项目并导出 Ear 文件。测试类始终包含在内。

如果我手动编辑 .setting/org.eclipse.wst.common.component.xml 文件以删除与测试文件夹关联的标签,它会起作用,但如果其他开发人员更改了与构建路径相关的任何内容,它会重新生成...

我是否遗漏了一些明显的东西..我疯狂地用谷歌搜索却无济于事..检查了eclipse的文档并且不知所措..

I have a basic web application (dynamic web project in eclipse) with an associated EAR project. I am trying to make sure that my junit test code stays out of the deployment EAR file.

In my web project I have a source folder called "src" and one called "test". I need to keep the .class files from the "test" source folder OUT of the EAR when I export it using eclipse.

I know this is trivial using ant but seems impossible using eclipse.. right click project and export the ear file.. the test classes are always included.

If I manually edit the .setting/org.eclipse.wst.common.component.xml file to remove the tag associated with the test folder it works but if some other developers change anything related to the build path, it gets regenerated...

Am I missing something obvious.. I've googled like crazy to no avail.. checked eclipse's docs and am at a loss..

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

可爱暴击 2024-08-04 02:48:15

这似乎不是直接可能的,这很奇怪。 您可以尝试以下几种解决方法。

注意我会将 java 文件从 Web 项目移动到 Java 项目(无论如何,这可能是一个值得遵循的好习惯)。 无论哪种方式,都创建另一个“测试”Java 项目并将测试源移至该项目。 您的测试项目将“主”Java 项目声明为依赖项,因此它可以访问测试类型,但不包含在战争中,因此不会部署测试类。

或者,如果您想将源保留在一个项目中,您可以将测试项目配置为使用链接的资源。 我发布了另一个答案,展示了您如何可以使用链接的资源在项目之间共享源位置。 使用这种方法,测试源仍然不在主项目的构建路径上,因此不会捆绑在 jar 中,而是物理地位于项目中,因此源控制更简单。

It doesn't seem to be directly possible, which is bizarre. Here's a couple of workarounds you could try.

Note I'd move the java files from the web project to a Java project (this is probably a good practice to follow anyway). Either way create another "test" Java project and move the test sources to that project. Your test project declares the "main" Java project as a dependency so it has access to the types for testing, but isn't included in the war, so the test classes won't be deployed.

Alternatively if you want to keep the sources in one project, you can configure the test project to use linked resources. I've posted another answer that shows how you can use linked resources to share source locations across projects. With this approach the test sources still aren't on the build path for the main project, so won't be bundled in the jar, but are physically located in the project so source control is simpler.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文