【发布时间】:2021-03-18 05:03:37
【问题描述】:
我有一个 gradle 文件,其根目录设置为(来自 settings.gradle 文件)
rootProject.name = 'PackageX'
在 groovy 测试中,我试图访问不同包中的类。
def setup(){
mapper = new DynamoDBMapper(dynamoDb)
DynamoDBTableMapper<?, ?, ?> amazonDynamoDBMapper = mapper.newTableMapper(Entity.class)
}
这里的 Entity.class 在“PackageY”中,因此我收到了错误
无法解析 com.mainpackage.sub1.sub2.PackageY.sub11.sub12 类。
使用以下行添加导入语句会导致无法解决错误
import com.mainpackage.sub1.sub2.PackageY.sub11.sub12.sub13.Entity
Entity.class 上面的包声明是
package com.mainpackage.sub1.sub2.PackageY.sub11.sub12.sub13
文件夹结构是这样的
| -PackageY
| -src
| -main
| -java
| -com.mainpackage.sub1.sub2.PackageY
| -sub11
| -sub12
| -sub13
| -Entity.java
有人可以建议在 groovy 测试用例中访问跨包类文件的正确方法是什么。
【问题讨论】:
-
您是在尝试导入 Entity.java 还是 Entity.class?它位于 jar 中还是仅在文件夹中?你是如何开始 groovy 的?您是否将带有实体的 jar/文件夹放入 groovy 脚本的类路径中? Entity.jar 中声明了什么包?
-
"您要导入 Entity.java 还是 Entity.class?" - 在 Java 和 Groovy 中,没有导入
.java文件这样的事情。您只能导入类(以及类,如接口、记录、枚举等)。您无法导入.java文件。