如何从groovy文件中的不同包导入类



我有一个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.PackageYsub11sub12。

添加带有以下行的导入语句无法解决错误

import com.mainpackage.sub1.sub2.PackageY.sub11.sub12.sub13.Entity

Entity.class之上的Package语句是

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.class位于'PackageY'中

如果Entity位于名为PackageY的包中,则需要使用其完全限定名PackageY.Entity来引用类,或者在文件顶部的包语句之后提供适当的导入语句。该导入语句可以是import PackageY.Entityimport PackageY.*

请注意,包名称包含大写字母是不标准的,以大写字母开头更是不标准

更新

问题已经更新,表明Entitycom.mainpackage.sub1.sub2.PackageY.sub11.sub12.sub13包中,因此我上面提到的导入语句将是import com.mainpackage.sub1.sub2.PackageY.sub11.sub12.sub13.*import com.mainpackage.sub1.sub2.PackageY.sub11.sub12.sub13.Entity

最新更新