从kotlin的顶层函数获取类的引用
我写了一个简短的程序,不需要任何类,而只需要顶层函数。
从你写的java代码中找到你的jar的位置
MyClass.class.getProtectionDomain().getCodeSource().getLocation().toURI().getPath()
但是因为我没有在我的kotlin代码中声明任何类,所以我不知道如何获得类的引用。
我目前的实施是这样的
class Ref val jarPath = Ref::class.java.protectionDomain.codeSource.location.toURI().path
这显然是很糟糕的代码。
所以我的问题是,如何在没有声明任何无关紧要的类的情况下获得kotlin中的类引用。 任何提示赞赏:)
您可以声明一个类,但使用对象表达式来声明一个类,这样它就不会被周围的代码看到:
val jarPath = object {}.javaClass.protectionDomain.codeSource.location.toURI().path