登录 立即注册

首页 > 绿虎论坛 > 建站 > 讨论/求助 (发帖)

标题: 这个jar包为什么在linux启动不起来啊??

作者: @Ta

时间: 07-16 12:24发布,07-16 13:25修改

点击: 8289

Image_1721103788701.png(34.16 KB)报了这两个错。但是在windows启动没毛病,
在centos7.6就启动不了,东西我发出来了。jiangshan.jar(98.45 MB)自带的启动命令是
title 扶摇1区
java  -jar jiangshan.jar -Xmx10240M -Xms10240M -XX:+UseG1GC
pause;

[隐藏样式|查看源码]


『回复列表(6|显示机器人聊天)』

1.

这个错误信息显示,您的Java程序在启动时出现了java.awt.HeadlessException异常。这个异常表明程序试图使用图形用户界面(GUI)功能,但当前环境不支持图形显示。具体原因是因为没有设置X11 DISPLAY变量,这意味着您的环境不支持图形显示或者没有正确配置图形显示环境。

这里有几个可能的解决方案:

  1. 设置DISPLAY环境变量
    如果您的系统确实支持图形界面,可以尝试设置DISPLAY环境变量。例如:

    export DISPLAY=:0
    

    这个命令假定您在本地机器上运行程序,并且X服务器在DISPLAY 0上运行。

  2. 使用虚拟显示服务器
    如果您在一个没有图形界面的服务器上运行程序,可以使用虚拟显示服务器如Xvfb。安装并运行Xvfb,然后设置DISPLAY环境变量。例如:

    sudo yum install Xvfb
    Xvfb :1 -screen 0 1024x768x16 &
    export DISPLAY=:1
    
  3. 修改程序以支持Headless模式
    如果您的程序必须在没有图形显示的环境中运行,可以修改程序代码以支持Headless模式。通常情况下,可以在程序启动时添加以下代码:

    import java.awt.HeadlessException;
    import java.awt.GraphicsEnvironment;
    
    public class Main {
        public static void main(String[] args) {
            if (GraphicsEnvironment.isHeadless()) {
                System.out.println("Running in headless mode");
                // Initialize your application in headless mode
            } else {
                // Initialize your application normally
            }
        }
    }
    
  4. 检查启动脚本中的错误
    错误信息中还提到pause: command not found,这表明启动脚本中有一个命令pause,但在Linux中没有这个命令。pause通常是Windows的命令,可以通过替换为Linux的相应命令或删除来解决。例如,您可以使用read命令来暂停脚本的执行:

    read -p "Press any key to continue..."
    

请根据您的具体环境选择合适的解决方案进行尝试。
一加ace2Pro(灰|24+1024)

(/@Ta/2024-07-16 12:58//)

2. 第二个错误解决了,第二个错误解决不了啊
(/@Ta/2024-07-16 13:20//)

3.

@13814814121,pause命令不存在,因为pause是windows的命令,改成read试试?

(/@Ta/2024-07-16 15:09//)

4.

@13814814121,目前手头只有Termux,没跑起来这个jar

(/@Ta/2024-07-16 15:10//)

5. 我直接用java -jar jiangshan.jar 也启动不了
(/@Ta/2024-07-16 19:52//)

6.

是不是不能在纯命令行下操作?需要桌面环境

(/@Ta/2024-07-17 09:11//)

回复需要登录

11月24日 19:23 星期天

本站由hu60wap6华为CPU驱动

备案号: 京ICP备18041936号-1