无法将 Java 项目中的类文件导入同一项目中的另一个类文件

Posted

技术标签:

【中文标题】无法将 Java 项目中的类文件导入同一项目中的另一个类文件【英文标题】:Cannot import class file from Java project into another class file in the same project 【发布时间】:2021-12-20 11:01:43 【问题描述】:

我在 Eclipse (2021-09 (4.21.0)) 中有一个 Java Maven 项目,我正在尝试将一个名为 BaseTest.java 的类导入同一个项目中的另一个类 (ElementFetch.java),但在一个单独的包中.如果您查看下面的屏幕截图,您将看到我的 import src.test.java.youtubeframework.BaseTest; 语句,并会注意到第 5 行的错误指示符。无论我指定的路径如何:

import youtubeframework.src.test.java.youtubeframework.BaseTest;
import src.test.java.youtubeframework.BaseTest; 
import test.java.youtubeframework.BaseTest;
import java.youtubeframework.BaseTest;
import youtubeframework.BaseTest;
import BaseTest;

导入将不起作用。总是有一个错误会阻止导入工作。

谁能告诉我我做错了什么?

【问题讨论】:

【参考方案1】:

您的第一个问题是您正在使用类的源路径,就好像它是包名一样。正确的包名应该是youtubeframework。所以你应该(理论上)使用import youtubeframework.BaseTest

但第二个问题是您的“主要”Java 代码不能依赖于您的“测试”Java 代码。这就是import youtubeframework.BaseTest 不起作用的原因。

在 Maven 的世界观中,“测试”树用于仅用于测试“主”树中内容的代码:

“test”类可以依赖于“main”类。 “main”类不能依赖于“test”类。

如果你有一个被“主”树中的东西使用的“测试”类,那么它实际上是你的应用程序/库/其他东西的一部分,它应该在“主”树中。

【讨论】:

宾果游戏!这解决了问题!我向 src/main/java 添加了一个名为“base”的新包,现在导入工作很简单:import base.BaseTest 谢谢!!!

以上是关于无法将 Java 项目中的类文件导入同一项目中的另一个类文件的主要内容,如果未能解决你的问题,请参考以下文章

如何将一个应用程序的对象导入同一个 django 项目中的另一个应用程序?

无法使用从 python 中同一目录中的另一个文件访问的类

java在同一目录中如何引入自己的类?

怎么在java项目中调自定义的jar包中的类?

从当前项目中的另一个模块启动 MainActivity

将一个项目链接到同一个表中的另一个项目