我有一个 jar 文件:myServerSide.jar,
这个 jar 从客户端应用程序获取请求,处理它们,每个都在一个线程中并呈现一个响应
我已将我的 jar 放在 linux 上,但我希望它始终运行
如果我无缘无故地执行 java -jar myServerSide.jar &
它会在一段时间后停止
我也试过 deamon -- java -jar myServerSide.jar &
它也停止了
你知道原因吗?
我该怎么做,让它一直运行,永不退出。(是否有必要让它成为一个服务)
感谢您的帮助
(如果相关,我将我的 jar 托管在 linode(VPS)上)
这是我服务器的代码
try
{
FTLogger.getInstance().logMessage(Level.FINE, "S: Connecting...");
ServerSocket serverSocket = new ServerSocket(SERVERPORT);
while (true)
{
Socket client = serverSocket.accept();
Thread serverThread = new Thread(new ServerThread(client));
serverThread.start();
}
}
catch (Exception e)
{
FTLogger.getInstance().logMessage(Level.SEVERE, "S: Error getting connection", e);
}
在我的日志中,我没有看到任何错误,并且在处理 jar 时它应该正常工作。 (如果您确定它是我代码中的 smthg,我应该打开另一个问题并丢弃它吗?)
最佳答案
if i do java -jar myServerSide.jar & for no reason it stops after a while
它停止的原因可能(可能是)在您的代码中。
调试它应该会告诉您它停止的原因。
关于java - 如何让一个jar文件一直运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6408878/