【发布时间】:2018-06-20 15:09:57
【问题描述】:
今天我有一个特殊的问题,我已经在调试器上花了一段时间。 我有两个项目项目 A 和项目 B。 项目 A 有多个 src 目录。
src
├───main
│ └───java
└───generated
└───java
两者都被 eclipse 识别为实际的 src 目录。两者都将被编译到 bin 中,如下所示:
bin
├───main
└───generated
项目 B 对项目 A 具有项目依赖性。
现在出现了奇怪的部分:当我在项目 B 中通过 Class.forName() 从 Project A/src/main/java 中查找一个类时,它会被找到。当我从Project A/src/generated/java 寻找一个类时,我得到一个 ClassNotFound 异常。
如果您能指出一种方法来告诉 eclipse 创建对两个 src 目录的依赖关系,我将非常高兴。
顺便说一句,以防万一:我使用的是 java 9。 这是来自项目 B 的 .classpath 的摘录
<classpathentry kind="src" path="/Project A"/>
感谢您的帮助。
【问题讨论】:
-
这听起来像是您可能已经过时的 Eclipse IDE 的错误。你能用a preview version of Eclipse Photon 重现这个问题吗(用 Neon 应该不能使用 Java 9,至少需要 Oxygen.1a 才能编写 Java 9 代码;Neon 已于 2016 年发布,Oxygen 是当前版本,Photon 将是下周发布)?
-
@howlger 我弄错了,我用的不是霓虹灯而是氧气。我按照你的要求做了,并试图复制光子 RC3 中的行为。问题仍然存在。
-
可能是运行配置(尝试删除它并重试Run As > ...)或
gradle.build(是否包含apply plugin: 'eclipse'?)不同步。作为一种解决方法,您可以使用不同的源文件夹,但只能使用一个输出文件夹。
标签: eclipse gradle java-9 eclipse-neon