Scala无法访问Java方法

Scala无法访问Java方法,java,scala,interop,Java,Scala,Interop,所以,我用Java写了一些东西,我想用Scala扩展它。。。我遇到的问题是Scala没有看到我需要的方法 以下是它的设置方式: 玩家扩展怪物,怪物扩展实体 我需要在Player中访问一个方法,该方法没有在Mob或Entity中定义,但Scala认为它不存在,即使Java确实存在 它可以很好地看到由Mob和Entity定义的方法。而且,我所说的所有方法都是非静态的 那么,我是做错了什么,还是这是Scala强加的限制 编辑-- 以下是相关代码: package test import rsca.g

所以,我用Java写了一些东西,我想用Scala扩展它。。。我遇到的问题是Scala没有看到我需要的方法

以下是它的设置方式: 玩家扩展怪物,怪物扩展实体

我需要在Player中访问一个方法,该方法没有在Mob或Entity中定义,但Scala认为它不存在,即使Java确实存在

它可以很好地看到由Mob和Entity定义的方法。而且,我所说的所有方法都是非静态的

那么,我是做错了什么,还是这是Scala强加的限制

编辑-- 以下是相关代码:

package test

import rsca.gs.model.Player

object Test {
     def handle(p:Player): Unit = {
         p.getActionSender().sendTeleBubble(0, 0, false);
     }
}
球员级别:

package rsca.gs.model;        
    // imports        
public final class Player extends Mob {
        //  Implemented methods (not going to post them, as there are quite a few)    
        // Relevant code
        private MiscPacketBuilder actionSender;
        public MiscPacketBuilder getActionSender() {
        return actionSender;
    }
}
错误:
value getActionSender不是rsca.gs.model.Player的成员编译Scala类时,请执行以下操作:

scalac *.scala *.java

通过这种方式,Scala将查看Java代码中的可用内容。但是,如果Java代码已经编译并作为jar文件提供,只需将其添加到编译Scala代码时使用的类路径中即可。

我从未遇到过此类问题,您可能已经检查了配置和其他所有内容两次,因此我猜这是与Eclipse相关的构建问题。您应该尝试从命令行进行构建,以查看Scala或Eclipse是否是问题所在。

是否可以对该类运行测试,以查看是否得到了正确的测试

p.getClass.getMethods
。。。如果可能(可能会进入NPE)以找到来源:

p.getClass.getProtectionDomain.getCodeSource.getLocation.getPath

贴了一些,但是间距被弄乱了。很抱歉。Scala没有看到什么
getActionSender()
SendTelebuble(0,0,false)?哦,还有一个愚蠢的问题,但是玩家、暴徒和实体在类路径中吗?我们希望看到编译的命令行,以及完整、漂亮的错误代码。谢谢。12345,你能启动指向你的jar的scala解释器,看看你能不能创建一个类型为Player的对象并调用它的方法吗
scala-classpath-your.jar
无法修复它,Eclipse处理得很好。Eclipse中没有错误表明将其添加到类路径失败,等等@RandomGuy Oh。。。日食。。。Eclipse有一些bug。我会查找Eclipse线程。