我是Java的新手,希望有人可以帮我解决这个问题。
我在日食中建立了一个项目;并有三个包:客户端,接口和服务器。
当我以java应用程序(通过eclipse)运行服务器时,它启动正常。如果我然后通过eclipse将客户端作为java应用程序运行,结果就像我期望的那样。
我现在正试图通过命令行运行它们。首先,我创建了一个包含所有Interfaces * .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;
答案 0 :(得分:0)
运行已编译的类而不是源文件。
还要考虑在使用java -cp时,您需要提供完全限定的主类名,例如
java -cp com.mycompany.MyMain
要编译服务器类,请尝试以下操作:
How to include jar files with java file and compile in command prompt
或者..为什么不将eclipse中的所有类作为jar文件导出? (你为接口做的一样)
运行服务器类时,必须在接口jar中添加运行类路径。请参阅:How to run a java class with a jar in the classpath?
类似的东西:
java -cp interfaces.jar;. server.MyServer