我的接口的java.lang.ClassNotFoundException

我的接口的java.lang.ClassNotFoundException,java,visual-studio-code,Java,Visual Studio Code,这个问题在java中似乎很常见,但我尝试的方法不起作用,我可能需要一些指导。我还尝试在另一台机器上运行相同的代码,但没有遇到这个问题 我的类Node.java使用NodeInterface.java,但在运行Node.java时,我得到错误:java.lang.ClassNotFoundException:NodeInterface 到目前为止,我已经确保所有内容都已编译,并且使用了命令java-cp/home/ryan/Desktop/P2P NodeInterface,但这产生了错误erro

这个问题在java中似乎很常见,但我尝试的方法不起作用,我可能需要一些指导。我还尝试在另一台机器上运行相同的代码,但没有遇到这个问题

我的类Node.java使用NodeInterface.java,但在运行Node.java时,我得到错误:
java.lang.ClassNotFoundException:NodeInterface

到目前为止,我已经确保所有内容都已编译,并且使用了命令
java-cp/home/ryan/Desktop/P2P NodeInterface
,但这产生了错误
error:Main方法未在类NodeInterface中找到。这让我很困惑,因为我不认为接口应该有主方法

我不确定这是否有用,但位于etc中的环境文件具有路径=“/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin”
。我正在运行Ubuntu18.04.5LTS,并使用vscode和java扩展包

请让我知道,如果我错过了任何信息,可以使这个问题更容易解决

编辑:下面是代码的更简化版本。但是,我认为问题不在于代码,而是与类路径有关

Node.java:

import java.net.InetAddress;
import java.rmi.Naming;
import java.rmi.RemoteException;
import java.rmi.server.UnicastRemoteObject;

public class Node implements NodeInterface {

    private String URL;
    
    public Node(String URL) throws RemoteException {
        try {
            this.URL = URL;
        }
        catch(Exception e) {
            System.out.println(String.format("Encountering issues while constructing the server class. Error %s%n", e.getMessage()));
        }
    }

    public static void main(String[] args) {
        try {
            Node node = new Node(args[0]);
            System.out.println(InetAddress.getLocalHost().getHostName());
            System.setProperty("java.rmi.server.hostname", InetAddress.getLocalHost().getHostName());
            NodeInterface serverStub = (NodeInterface) UnicastRemoteObject.exportObject(node, 0);
            Naming.bind(args[0], serverStub);
        }
        catch(Exception e) {
            System.out.println(e.getMessage());
        }
    }
}
NodeInterface.java

import java.rmi.Remote;
import java.rmi.RemoteException;

public interface NodeInterface extends Remote {
}

您是否在某个地方定义了main方法?“”publicstaticvoidmain(String[]args)“'您可以删除所有不添加其他人的行以查看问题。例如,那些被注释掉的行对我来说没有任何价值。你可以试着运行“java-cp.Node”看看它是否工作。我这样做了,并得到了错误:java.lang.ClassNotFoundException:NodeInterface删除你的.class文件(编译过的文件),再次编译它们(javac Node.java,javac NodeInterface.java),再次运行它(java-cp.Node),确保终端打开到A7文件夹中。我在没有任何IDE的情况下测试了它,只是通过终端命令,它在我的机器上工作