我有一个用于国际象棋 AI 服务器的 Java 框架。我打算使用 Scala 为我的国际象棋 AI 编写逻辑。所以我需要编辑框架的“AI”类来调用我的Scala代码。
当我尝试从 Scala 中的 java 框架中引用一个类时,就会出现我的问题,并且我收到一个遵循此模式的错误:
class * in package * cannot be accessed in package *
我能找到的最相关的事情是: scala 访问限定符的保证是什么?,但是这对我一点帮助都没有。
接下来我发现:.java 和 .scala 类之间是否可能存在循环依赖关系? 我将尝试设置一个 maven 解决方案,但最终我需要使用 make 编译它,并使用 shell 脚本运行它
创建虚拟类似乎是一个糟糕的解决方案。我不想继续编辑框架,重新编译它,并修复它对调用我的 Scala 类的任何抱怨。
我有点困惑为什么这是一个问题。我可以使用 Java 语法调用任何本机 Java 函数,没问题。为什么会发生这种情况,即使我已将框架放入 jar 并以这种方式引用它?