这是我害怕的那些非常令人尴尬的问题之一.
我在Eclipse中有一个程序:
package ds;
public class DiServer {
public static void main(String[] args) {
int foo = 0;
int bar = 0;
/*bla*/
}
}
Run Code Online (Sandbox Code Playgroud)
简单吧?在Eclipse中运行时,这完全正常.
我想从命令行运行它.我复制了bin文件夹,里面有ds文件夹,ds和.classpath中有DiServer.class
我已将这些放入一个单独的文件夹,C:\ My Documents\DiTest,打开命令提示符,转到C:\ My Documents\DiTest\ds \并键入 java DiServer
我得到的错误是 Exception in thread "main" java.lang.NoClassDefFoundError: DiServer <wrong name:ds/DiServer> ... Could not find the main class: DiServer. Program will exit.
我试过java -classpath.DiServer,java -classpath ../ .. DiServer,将.classpath移动到ds文件夹,但我似乎无法绕过这个.我99%肯定这是一个类路径问题,但我无法弄清楚如何解决它.
我将永远感谢任何帮助,并且品脱的习惯性提供始终如一.
首先十分感谢,
中号
我即将编程服务器,但我想知道我的想法是否可行.我的程序将输出到多个端口上的多个客户端 - 每个端口可以被多个客户端访问.
通常我会使用线程套接字服务器,但在这种情况下我需要它为多个端口工作.我想到的用法是在下面的模糊伪代码中:
xy希望这有点意义,你可以看到我正在尝试做什么.简单地说:听取选定的端口,根据连接的端口创建一个线程套接字连接.
这是可行的,还是我要结束多线程线程套接字服务器?
编辑:更改措辞以更好地反映问题.
我担心这将是一个荒谬的愚蠢问题,你或许可以告诉网络不是我的强项,但我怎样才能找到我目前连接的多播地址?
我得到了一个应用程序,它可以侦听一个在一台计算机上运行正常的多播地址,但是会在另一台计算机上抛出SocketExceptions.
我为这个问题的模糊和愚蠢道歉,但任何建议都非常感谢.:)
中号
我有一个Java TCP服务器,当客户端连接到它时,每30秒向客户端输出一条消息.严格要求客户端不向服务器发送任何消息,并且服务器不向客户端发送除30秒间隔消息之外的任何数据.
当我断开客户端连接时,服务器将在下次尝试写入客户端时才会意识到这一点.因此,服务器最多可能需要30秒才能识别断开连接.
我想要做的是每隔几秒检查断开连接而不必等待,但我不知道如何做到这一点,因为a)服务器没有从客户端接收和b)服务器无法发送任何其他数据.请问有谁可以对此有所了解吗?谢谢.
我目前正在开发一个Java项目,我有一组数据,我希望以多种自定义格式输出.我为每种格式都有一个类,它接收原始数据并相应地转换它.但是,首先,我只实现了这些格式中的两种或三种,但希望允许在以后添加更多格式,而无需对应用程序进行大规模重建.
我的想法是为每个格式类创建一个DLL,并让我的应用程序传递数据以转换为每个格式.这样,我可以稍后创建一个DLL并让我的主应用程序访问它.(我很乐意听谁已经在C++/C#这样做过这种感觉就像合理的解决方案这样做,有人的任何替代方法,但它可能并不适用于Java的)
我的问题是我完全不知道如何做到这一点 - 在C++/C#中我可以用几行代码编写它,但我不确定它如何与Java一起工作.有可能提出一个非常模糊的问题,我该怎么做?
非常感谢答案,并提供饼干和茶.:)
先谢谢,M
编辑:对不起,只是添加:我也不确定如何创建DLL,这个项目必须是Java,才能首先阅读.谢谢.:)