0

我是 Java 新手,希望有人可以帮助我解决这个问题。

我在eclipse中建立了一个项目;并具有三个包:客户端、接口和服务器。

当我将服务器作为 java 应用程序运行(通过 eclipse)时,它启动得很好。如果我然后通过 Eclipse 将客户端作为 java 应用程序运行,结果将完全符合我的预期。

我现在正试图通过命令行运行它们。首先,我创建了一个包含所有接口 *.class 文件的 jar

我现在正在尝试编译 Server.java 文件,但它说包接口不存在。

所以目前我有:

src/Interfaces
       |--inter1.java
       |--inter2.java
       |--inter1.class
       |--inter2.class
       |--inter12.jar 
             |--inter1.class
             |--inter2.class
src/Server
      |-myServer.java
      |-fileThat'myServer.java'dependson.java
src/Client
      |-myClient.java 

在 myServer.java 我有例如:

 package Server
 ...
 import Interfaces.inter1;

看来我正在破坏试图运行它的包结构;到目前为止,我已经尝试了几件事,包括

java -cp ../Interfaces/inter12.jar: myServer.java

抛出“线程“主”java.lang.NoClassDefFoundError:myServer/java中的异常”

任何帮助表示赞赏,我承认我在这里有点迷失,我读得越多,我就越困惑。

编辑:我无法编译 myServer.java;在运行“javac myServer.java”时,我得到:

myServer.java:8: package Interfaces does not exist
           import Interfaces.inter1;
4

1 回答 1

0

运行编译的类而不是源文件。

还要考虑在使用 java -cp 时,您需要提供完全限定的主类名称,例如

java -cp com.mycompany.MyMain

要编译服务器类,请尝试以下操作:

如何在 java 文件中包含 jar 文件并在命令提示符下编译

或者..你为什么不将eclipse中的所有类导出为jar文件呢?(你对接口做了同样的事情)

运行服务器类时,您必须将接口 jar 添加到运行类路径中。请参阅:如何在类路径中运行带有 jar 的 java 类?

就像是:

java -cp interfaces.jar;. server.MyServer
于 2013-09-19T22:01:40.013 回答