编译 Java 文件时出错找不到符号



我想创建一个RMI应用程序。我在系统变量中设置了 java 路径并从这些步骤开始

  1. 爪哇 你好.java
  2. javac 你好.java
  3. javac HelloServer.java
  4. javac HelloClient.java
  5. 启动 RMI注册表
  6. start java -djava.security.policy=policy Server
  7. start java -djava.security.policy=policy Client

但是在第二步中,我遇到了这个问题

C:UsersHPeclipseSimpleRMIExamplesrc>javac Hello.java
C:UsersHPeclipseSimpleRMIExamplesrc>javac HelloImpl.java
HelloImpl.java:4: error: cannot find symbol
public class HelloImpl extends UnicastRemoteObject implements Hello {
^
symbol: class Hello
1 error

法典

//Hello.java
import java.rmi.*;
public interface Hello extends Remote {
public String getGreeting() throws RemoteException;
}
//HelloImpl.java
import java.rmi.*;
import java.rmi.server.*;
public class HelloImpl extends UnicastRemoteObject implements Hello {
public HelloImpl() throws RemoteException {
// No action needed here.
}
public String getGreeting() throws RemoteException {
return ("Hello there!");
}
}
//HelloServer.java
import java.rmi.*;
public class HelloServer {
private static final String HOST = "localhost";
public static void main(String[] args) throws Exception {
// Create a reference to an implementation object...
HelloImpl temp = new HelloImpl();
// Create the string URL holding the object's name...
String rmiObjectName = "rmi://" + HOST + "/Hello";
// (Could omit host name here, since 'localhost‘ would be assumed by default.)
// 'Bind' the object reference to the name...
Naming.rebind(rmiObjectName, temp);
// Display a message so that we know the process has been completed...
System.out.println("Binding complete...n");
}
}
//HelloClient.java
import java.rmi.*;
public class HelloClient {
private static final String HOST = "localhost";
public static void main(String[] args) {
try {
// Obtain a reference to the object from the registry and typecast it into the
// appropriate
// type...
Hello greeting = (Hello) Naming.lookup("rmi://" + HOST + "/Hello");
// Use the above reference to invoke the remote object's method...
System.out.println("Message received: " + greeting.getGreeting());
} catch (ConnectException conEx) {
System.out.println("Unable to connect to server!");
System.exit(1);
} catch (Exception ex) {
ex.printStackTrace();
System.exit(1);
}
}
}

问题最终解决在这里是步骤

  1. 编辑系统环境变量 -> 环境变量 -> 用户变量 ->类路径(如果未找到,则添加( -> 路径项目箱文件夹 (C:\Users\HP\eclipse\SimpleRMIExample\bin( 仅限第 1 次
  2. 重新启动 仅限第 1 次
  3. 清洁项目
  4. 命令:启动 rmiregistry(在项目的 bin 文件夹上(
  5. 运行项目

最新更新