0

我正在尝试使用 Eclipse 的 JDT 生成 Java 单元测试。其中一部分是确定与特定 Java 类相关的类路径。

我将一个名为 jaffa-framework 的 Maven 项目导入 Eclipse。Jaffa-framework 有几个 Maven 模块,包括 jaffa-api。每个子模块都有自己的 pom.xml。我可以在 Eclipse 中使用 Maven 毫无问题地构建 jaffa-framework 及其子模块(尽管它不会使用 构建Project -> Build Project)。

<project ...
    <artifactId>jaffa-framework</artifactId>
    ...
    <profiles>
        <profile>
            <id>normal</id>
            <modules>
                <module>jaffa-api</module>
                ...
            </modules>
       </profile>
    </profiles>
    ...
</project>

当我将 jaffa-framework 作为 Maven 项目导入 Eclipse 时,我在 UI 中看到以下内容:

  • 一个 Java 项目:jaffa-framework
  • jaffa-api 的两个文件夹/IPackageFragmentRoots:jaffa-api/src/main/java 和 jaffa-api/src/test/java

    jaffa-api 源文件夹

  • 一个“普通”文件夹:jaffa-api

    雅法API

这个结构在我看来很奇怪。我希望看到更多类似的东西:

jaffa-framework
  jaffa-api
    jaffa-api/src/main/java
    jaffa-api/src/test/java

也许我在导入时做错了什么?如果您有想法,请告诉我。

如果我在 jaffa-api/src/main/java 中选择一个 Java 文件,我可以使用 JDT 导航到 jaffa-framework 项目并使用javaProject.getResolvedClasspath(true);获取其类路径。但是,我真正需要的是 jaffa-api 的类路径。

jaffa-api 文件夹包含一个 pom 文件、一个 .project 文件和一个 .classpath 文件。我没有看到使用 JDT 导航到它的简单方法,并且因为它是一个文件夹,所以我看不到如何使用 JDT 以编程方式获取类路径。

我也想知道为什么 jaffa-api 看起来像一个普通文件夹,而不是更像项目的东西。Eclipse 必须知道它是某种子项目,因为该文件夹包含 .classpath 和 .project 文件。

请告诉我如何使用 JDT 访问 jaffa-api 的类路径信息,和/或如何更正我的项目设置。

4

1 回答 1

0

我最初的项目创作有些古怪。我不确定是什么。

我通过右键单击它并从菜单中选择“删除”来删除我的 jaffa-framework 项目,从而解决了我的问题。我使用File -> Open Projects from File System. 我猜这里要注意的关键是选中了“搜索嵌套项目”框。项目重新加载后,jaffa-framework 和 jaffa-api 都作为项目出现。

加载项目

于 2019-08-28T14:58:07.237 回答