小智 7
绝对可以,一个人就能做到。。
首先您需要导航到Build Path-->Configure Build Path--> Source tab
然后在“源”选项卡中搜索/检查[您的项目名称] /src/main/java并更改
将“包含测试源”从“否”改为“是”并保存。
这将成功解决从“src/test/java”导入包到“src/main/java”的问题
您在这里混淆了两个不同的概念:源文件夹和包。
源文件夹就是包含源的文件夹。在大多数现代项目中,您会发现两个这样的源文件夹,一个用于生产代码,另一个用于测试代码。在您的示例中(标准 Maven 目录布局,分别为 src/main/java 和 src/test/java)。
包是一种组织类的方式,这通常也反映在您的源代码中。按照惯例,测试和生产代码使用相同的包,例如生产类 com.mypackage.Foo 通常由名为 com.mypackage.FooTest 的类进行测试。按照惯例,这些包层次结构也映射到源中的目录层次结构。注意:虽然在 99.99999% 的情况下,出于理智的目的,您应该坚持此约定,但这实际上并不是一个要求。您可以独立于文件系统安排(在源端)来组织包。
无论如何,在标准设置中,您的目录布局可能如下所示:
src/main/java/com/mycompany/mypackage/SomeClass.java
src/test/java/com/mycompany/mypackage/SomeClassTest.java
Run Code Online (Sandbox Code Playgroud)
因此,生产类和测试类共享一个包,但位于不同的源文件夹中。此设置非常强大,因为它允许您的构建工具仅将生产代码导出到最终输出,同时为您的测试代码提供对其正在测试的代码的包级访问权限。测试代码和生产代码是独立编译的,生产代码不知道测试代码,这是应该的。
在您的情况下,测试文件夹中似乎有生产代码。要改变这一点,将代码移动到不同的包并不是解决方案。相反,您希望将代码移动到同一个包中,但位于生产文件夹中。如果您使用 IntelliJ,移动对话框允许您选择不同的源根目录,这正是您想要的,其他 IDE 将超越类似的功能。
| 归档时间: |
|
| 查看次数: |
9192 次 |
| 最近记录: |