编译java RMI服务器时出错

编译java RMI服务器时出错,java,compiler-errors,Java,Compiler Errors,我也在尝试将ssl添加到我的服务器实现中。我在编译server.java时遇到了一个问题。这是输出 **Server.java:7: error: cannot find symbol import javax.net.ssl.KeyStore; ^ symbol: class KeyStore location: package javax.net.ssl Server.java:8: error: cannot find symbol im

我也在尝试将ssl添加到我的服务器实现中。我在编译server.java时遇到了一个问题。这是输出

**Server.java:7: error: cannot find symbol
import javax.net.ssl.KeyStore;
                    ^
  symbol:   class KeyStore
  location: package javax.net.ssl
Server.java:8: error: cannot find symbol
import javax.net.ssl.KeyStorePassword;
                    ^
  symbol:   class KeyStorePassword
  location: package javax.net.ssl
Server.java:9: error: cannot find symbol
import javax.net.ssl.trustStore;
                    ^
  symbol:   class trustStore
  location: package javax.net.ssl
Server.java:10: error: cannot find symbol
import javax.net.ssl.trustStorePassword;
                    ^
  symbol:   class trustStorePassword
  location: package javax.net.ssl
Server.java:21: error: call to super must be first statement in constructor
        super(0, new SslRMIClientSocketFactory(), new SslRMIServerSocketFactory());
             ^
5 errors**
这是我的服务器代码,在添加ssl之前工作得很好

import java.rmi.RemoteException;
import java.rmi.server.UnicastRemoteObject;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import javax.net.ssl.KeyStore;
import javax.net.ssl.KeyStorePassword;
import javax.net.ssl.trustStore;
import javax.net.ssl.trustStorePassword;


public class Server extends UnicastRemoteObject implements ServerInterface
{
    private static final long serialVersionUID = 1L;

    protected Server() throws RemoteException
    {

        super(0, new SslRMIClientSocketFactory(), new SslRMIServerSocketFactory());
    }
我只发布这一部分,因为我认为ssl包存在导入问题。我在用Ubuntu

谢谢。
Lucho.

在Java中,包括Java 8:

  • 没有名为
    javax.net.ssl.KeyStore的类
  • 没有名为
    javax.net.ssl.keystrepassword的类
  • 没有名为
    javax.net.ssl.trustStore的类
  • 没有名为
    javax.net.ssl.trustStorePassword的类
事实上,最后两个类名甚至不符合标准的类命名约定

我只发布这一部分,因为我认为ssl包存在导入问题。我在用Ubuntu

这并不表示Java、Java安装或Ubuntu有问题。真正的问题是,您试图编译的代码显然是错误的。完全错误。不能导入不存在的类



值得一提的是,有一个名为
java.security.KeyStore
的标准类,但与其他三个类完全不同。

没有“ssl包的导入问题”。尝试导入虚构类时出现问题。你甚至似乎都没有使用它们,至少从你发布的内容来看是这样。有些系统属性的拼写几乎是这样,但不是这样:

javax.net.ssl.keyStore
javax.net.ssl.keyStorePassword
javax.net.ssl.trustStore
javax.net.ssl.trustStorePassword
你最后的错误是不言自明的

远程对象中不需要
serialVersionUID


简而言之,你的代码完全是胡说八道

Ubuntu与此无关,也与、或无关。你刚刚写了一堆虚构的导入。解决方法:不要。