无法将 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 项目中的类文件导入同一项目中的另一个类文件的主要内容,如果未能解决你的问题,请参考以下文章