我有一个国际象棋AI服务器的Java框架。我打算用Scala为我的国际象棋AI编写逻辑。所以我需要编辑框架的“AI”类来调用我的Scala代码。
当我尝试从Scala中的java框架引用一个类时出现问题,我得到一个遵循这种模式的错误:
class * in package * cannot be accessed in package *
我能找到的最相关的是: What are the guarantees for scala access qualifiers?,但这对我没有任何帮助。
接下来我发现了这个:is it possible to have a circular dependency between .java and .scala classes? 我将尝试设置maven解决方案,但最终我需要使用make编译它,并使用shell脚本运行它
创建虚拟类似乎是一个糟糕的解决方案。我不想继续编辑框架,重新编译它,并修复它有关调用我的Scala类的任何抱怨。
我有点困惑为什么这是一个问题。我可以使用Java语法调用任何本机Java函数,没问题。为什么会发生这种情况,即使我将框架放在jar中并以这种方式引用它?
答案 0 :(得分:3)
看来特定的类是包私有的。请公开,然后再回报。