【问题标题】:How to make resources in maven test folder available to other projects如何使 Maven 测试文件夹中的资源可用于其他项目
【发布时间】:2015-09-03 21:02:37
【问题描述】:

我有一个由多个子项目组成的 Maven 项目。我有三个子项目client、server和common。放置在公共项目的 java/main 文件夹中的类可用于所有三个项目。然而,放置在公共项目的 java/test 文件夹中的类不是。如何将这些类提供给所有三个项目?

我在 Eclipse 中工作,代码似乎可以编译,但在运行时,对于客户端项目中使用的来自公共项目测试文件夹的任何类,我发现类未找到异常。 common 项目中的类可用,common/test 文件夹中的 JUnit 测试编译运行。

【问题讨论】:

  • 这里记录了如何做以及如何使用它的完整说明:maven.apache.org/plugins/maven-jar-plugin/examples/…
  • @khmarbaise:您发布的文章正是我想要的。但是,我处于“吃你的蛋糕,然后吃掉它的情况”。我希望在工作时可以在我的 Eclipse 环境中使用这些类,但是当我进行最终构建时,我希望不部署测试类。我不知道如果没有进一步的 maven 争论(例如,通过制作两个单独的 maven 项目:一个用于开发环境,一个用于最终发布的 jar),这是可能的。
  • 我们所说的类是那些将被打包到test-jar中的测试类?不部署是什么意思?目标是什么?

标签: java eclipse maven


【解决方案1】:

src/test/ 中的(单元)测试对项目本身来说是“私有的”。但是,您可以例如使用测试基类等创建一个单独的项目并添加测试依赖项。

    <dependency>
        <groupId>org.yours</groupId>
        <artifactId>commons-test</artifactId>
        <version>1.0.0-SNAPSHOT</version>
        <scope>test</scope>
    </dependency>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-05-23
    • 1970-01-01
    • 2016-11-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-03-19
    • 2019-01-20
    相关资源
    最近更新 更多