Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/kotlin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
“奇怪”;未解析引用:“;升级到Kotlin 1.0.5后出错_Kotlin - Fatal编程技术网

“奇怪”;未解析引用:“;升级到Kotlin 1.0.5后出错

“奇怪”;未解析引用:“;升级到Kotlin 1.0.5后出错,kotlin,Kotlin,我有一个包含2个模块的项目。包含我的Java代码的Java模块。还有一个包含我的Kotlin代码的Kotlin模块。Kotlin模块依赖于java模块。也就是说,Java模块中没有引用Kotlin模块的内容。但是Kotlin模块依赖于Java模块中的Java类 这个项目我已经6个月左右没有打开了 它以前工作得很好。是科特林一号什么的。最近一次是在六月 现在我已经更新到最新的Kotlin版本 但是我的一个java模块java类不能再从Kotlin模块中引用了。它只是其中的一个类,Kotlin模块引

我有一个包含2个模块的项目。包含我的Java代码的Java模块。还有一个包含我的Kotlin代码的Kotlin模块。Kotlin模块依赖于java模块。也就是说,Java模块中没有引用Kotlin模块的内容。但是Kotlin模块依赖于Java模块中的Java类

这个项目我已经6个月左右没有打开了

它以前工作得很好。是科特林一号什么的。最近一次是在六月

现在我已经更新到最新的Kotlin版本

但是我的一个java模块java类不能再从Kotlin模块中引用了。它只是其中的一个类,Kotlin模块引用了Java模块中的许多其他类

我希望有人能告诉我发生了什么事。可能是Kotlin在过去6个月里发生了一些变化导致了这种情况

我在引用JSBot的Kotlin模块中的所有Kotlin文件中得到的消息如下:

Error:(191, 39) Kotlin: Unresolved reference: JSBot
kt文件中的JSBot导入是正确的。Java模块中的其他类即使在同一个Java包中也可以识别并编译,不会出现错误

以下是JSBot.java声明(在java模块中):

其他抽象java类可以从Kotlin模块中很好地引用。所以我真的不明白发生了什么。这只是一个Java类

但是,在早期的Kotlin版本(v1.0到6月份的最新版本)中,它编译得很好。我现在才发现这个错误。我没有更改任何代码。仅更新至kotlin插件1.0.5

谁能给我一些提示怎么办?我被困住了,不知道从这里走到哪里去


我将maven.pom从1.0.0更新为1.0.5,但这没有帮助。

似乎已经解决,问题将在上面评论中描述的Kotlin版本中解决。请不要删除此问题,它可能会对遇到此kotlin错误的其他人有所帮助

JSBot类是否有在其构造函数参数上带有注释的内部类?它有两个内部类
公共最终类顺序
,它们有自己的内部类
受保护的最终类OpenOrders
,但是它们都没有构造函数。但是,我确实使用
@Nullable
@NotNull
注释注释了我的所有方法和构造函数(当存在构造函数时)。另一个内部类是
公共抽象类Order
,它确实包含构造函数
公共顺序(@NotNull PlacedOrder PlacedOrder)
-是的,这第二个内部类似乎是一个内部类,在构造函数参数中有注释,正如您所问的。我刚刚删除了这个
@NotNull
,是的,它现在编译时没有
JSBot
的未解决的引用错误。。。那么,这就是解决办法吗?将来的kotlin版本是否仍存在此问题?此问题将在kotlin 1.0.6或kotlin 1.0.5的热修复更新中修复。谢谢。我需要“修复”其中的5门课。现在它们都可以编译了,但是如果以后能够把注释放回去就好了。
public abstract class JSBot extends Evaluable implements Name {
...
}