【问题标题】:How to get package of imported class in scala?如何在scala中获取导入类的包?
【发布时间】:2017-07-02 23:25:38
【问题描述】:

我有当前的导入:

import com.test.test1.ver4.commons.{HelloWorld=> SomeCommon}

然后我使用以下内容:

val myCommons=Reader.getClassesForPackage(classOf[SomeCommon].getPackage) //The Reader expects for the Package

我想将“ver4”更改为动态,也允许传递任何其他版本。

我尝试做最简单的事情 - 通过编写以下内容来获取包:

val p =Package.getPackage("com.test.test1.ver4.commons.HelloWorld"))

但我一直为空。

我尝试打印所有的包:

    val p = Package.getPackages()

    for(pac <- p) println(pac.getName())

但它似乎只包含“系统”包,例如:

java.nio
java.security.cert
java.util.zip
java.nio.file

有人可以建议怎么做吗?

很多东西。

【问题讨论】:

    标签: java scala import package


    【解决方案1】:

    你想要Package.getPackage("com.test.test1.ver4.commons")。但请注意,要使其正常工作,您需要已经从该包中加载了至少一个类。您可以使用 Reflections 库来查找此类类,参见例如Can you find all classes in a package using reflection?.

    【讨论】:

      猜你喜欢
      • 2011-12-23
      • 2014-12-17
      • 2014-08-13
      • 2023-04-01
      • 2018-03-05
      • 2019-01-31
      • 2015-05-23
      • 2013-04-25
      • 2018-06-01
      相关资源
      最近更新 更多