2010-09-09 75 views
0

我想从教程(http://java.sun.com/developer/onlineTraining/rmi/RMI.html)上运行jguru的示例RMI,但它们没有在命令行中编译,所以我无法运行rmic并前进教程:jGuru RMI示例不编译

$javac Calculator.java 

$javac CalculatorImpl.java 
CalculatorImpl.java:6: cannot find symbol 
symbol: class Calculator 
    implements Calculator { 
      ^
1 error 

两个类都完全一样,他们是在jguru教程: 接口:

public interface Calculator 
     extends java.rmi.Remote { 

    public long add(long a, long b) 
      throws java.rmi.RemoteException; 

    public long sub(long a, long b) 
      throws java.rmi.RemoteException; 

    public long mul(long a, long b) 
      throws java.rmi.RemoteException; 

    public long div(long a, long b) 
      throws java.rmi.RemoteException; 
} 

类:

public class CalculatorImpl 
    extends 
     java.rmi.server.UnicastRemoteObject 
    implements Calculator { 

    // Implementations must have an 
    //explicit constructor 
    // in order to declare the 
    //RemoteException exception 
    public CalculatorImpl() 
     throws java.rmi.RemoteException { 
     super(); 
    } 

    public long add(long a, long b) 
     throws java.rmi.RemoteException { 
     return a + b; 
    } 

    public long sub(long a, long b) 
     throws java.rmi.RemoteException { 
     return a - b; 
    } 

    public long mul(long a, long b) 
     throws java.rmi.RemoteException { 
     return a * b; 
    } 

    public long div(long a, long b) 
     throws java.rmi.RemoteException { 
     return a/b; 
    } 
} 

环境瓦尔: (@Windows XP)

JAVA_HOME=C:\Program Files\Java\jdk1.6.0_20 
CLASSPATH=C:\Program Files\Java\jdk1.6.0_20 
Path=C:\Program Files\Java\jdk1.6.0_20\;... 

回答

0

你肯定忘了导入接口。你应该检查一下。


例如,这是鉴于如果Lol类不进口编译错误:

Test.java:3: cannot find symbol 
symbol : class Lol 
location: class Test 
     static Lol l; 
       ^
+0

好,我认为这是没有必要的,因为他们是在同一目录(属于到相同的包<默认包>) – AndreDurao 2010-09-09 18:03:50

+0

所以我导入了“导入计算器;”并给我2个错误:CalculatorImpl.java:1:'。'预计 进口计算器; ^ CalculatorImpl.java:1:';'预计 进口计算器; ^ 2错误 – AndreDurao 2010-09-09 18:04:22

+0

嗯,我以为你删除了'package'语句。你的代码在我的电脑上运行良好,没有'package'(和'import')。但是这两个java文件需要放在同一个文件夹中。 – 2010-09-09 18:16:13