`
aiyalhw
  • 浏览: 61488 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
文章分类
社区版块
存档分类
最新评论

运行headless Java服务器

阅读更多

   

<!--29DH90889090AD9D-->

对于一个Java服务器来说经常要处理一些图形元素,例如地图的创建或者图形和图表等。这些API基本上总是需要运行一个X-server以便能使用AWT(Abstract Window Toolkit,抽象窗口工具集)。然而,运行一个不必要的X-server并不是一种好的网络管理方式。

这个解决方案依赖于你的Java版本。如果你运行在JDK1.4上,那么你将有机会运行headless服务器。

-Djava.awt.headless=true
对于JDK1.3及更低的版本,有个来自eTeks的PJA工具包(Pure Java AWT Toolkit,纯Java AWT工具集)可以使用。它是一个在配置上与Sun的1.4版非常相似的headlessJava服务器,这种配置方式包含一组-D属性标志。

你需要下载相关的jar,将它们放到你的CLASSPATH中,然后设置下面的标志:

Dawt.toolkit=com.eteks.awt.PJAToolkit
Djava.awt.graphicsenv=com.eteks.java2d.PJAGraphicsEnvironment
在IBM的JDK下,你能找到下列所需的属性,这里我们将PJA的jar要放到lib/pja下:

Djava.awt.fonts=$JAVA_HOME/jre/lib/fonts
Djava2d.font.usePlatformFont=false
Duser.home=lib/pja
你可以从eTeks网站上下载PJA工具包。

译者注:在JDK1.4的新特性的AWT中提到 headless支持是指在图形环境下是否支持显示器、鼠标和键盘,详细内容可以参考Sun的网站的headless支持。

分享到:
评论
2 楼 aiyalhw 2010-03-23  
java.lang.NoClassDefFoundError: sun.awt.X11.XToolkit (initialization failure)
java.lang.J9VMInternals.initialize(J9VMInternals.java:134)
java.lang.Class.forNameImpl(Native Method)
java.lang.Class.forName(Class.java:130)
java.awt.Toolkit$2.run(Toolkit.java:864)
java.security.AccessController.doPrivileged(AccessController.java:197)
java.awt.Toolkit.getDefaultToolkit(Toolkit.java:847)
com.CopyScreen.<init>(CopyScreen.java:25)
1 楼 aiyalhw 2010-03-22  
您好,我终于能够建立在升级SableVM和路径,
to SuSE 9..3 and installing a lot of Gtk/Gnome stuff.到SuSE 9 .. 3和安装大量的GTK / Gnome的东西。

I am running without a graphics environment, and using the flag:我正在运行没有图形环境,使用标志:

-Djava.awt.headless=true - Djava.awt.headless =真

But whenever my webapp tries to generate a Chart as PNG (using但每当我的webapp的尝试生成一个png图表(使用
JFreeChart), the JVM crashes complaining about not finding a GTK JFreeChart的),JVM的崩溃抱怨没有找到一个GTK
Map/Device/Something like that.地图/设备/类似的东西。

When using Sun/IBM/Blackdown, all I need to generate charts in memory当使用Sun / IBM公司/彩虹,我只需要在内存中生成图表
are the XWindows shared libraries (XOrg Libs in SuSE), using the共享库(在SuSE利布什了Xorg)的XWindows,使用
-Djava.awt.headless=true parameter. - Djava.awt.headless = true参数。

Is there a workaround with SableVM and Classpath?是否有与SableVM和CLASSPATH解决方法? Can I avoid我能避免
installing a graphics environment in my production server?安装在我的生产服务器的图形环境?

Regards,关心,
Martin马丁
-- -
Dinamica - Open source J2EE framework迪纳米卡 - 开源J2EE框架

相关推荐

    在Java SE上使用Headless模式的超级指南

    例如,如果你的应用程序需要生成认证图片并在没有显示器的服务器上运行,Headless模式就是一个理想的解决方案。在这种模式下,图片生成后可以传输到有显示器的系统进行进一步处理。 在编程实践中,还需要注意以下几...

    java、杀死启动进程、定时执行程序、隐藏黑窗口(dos窗口)、线程异常死亡(保活)

    最后,关于自动重启JBOSS服务器,你可以编写一个Java程序,该程序先通过上述方式杀死正在运行的JBOSS进程,然后重新启动它。可以使用JBOSS的控制台命令或API来启动服务。具体实现会依赖于你的JBOSS版本和配置。 总...

    URL转换为PDF的Java实现

    Chrome Headless模式可以在没有用户界面的情况下运行Chrome浏览器,从而生成PDF。 ```java // 使用Selenium WebDriver和Chrome Headless生成PDF import org.openqa.selenium.chrome.ChromeDriver; import org....

    适配mips指令集 ,龙芯服务器适配,openjdk1.8mps64el.rpm 安装包

    1. `java-1.8.0-openjdk-headless-1.8.0.242-1.b08.8.1.4.ns7.2.mips64el.rpm`:这是一个无界面版本的OpenJDK,不包含任何图形用户界面组件,适用于服务器环境,因为它可以减少资源消耗。 2. `java-1.8.0-openjdk-...

    UOS服务器版ARM架构openjdk-8-jdk_arm64.tar.gz

    这些依赖包的提供,确保了OpenJDK 8在UOS服务器环境下能够正确运行和开发Java程序,并且能够支持图形界面(如果需要)。在部署这个OpenJDK 8环境时,需要先安装所有依赖,然后才能安装和使用OpenJDK。

    UOS服务器版MIPS架构龙芯openjdk-8-jdk-mips.tar.gz

    1. `openjdk-8-jre-headless_1.8.0.212-2deepin_mips64el.deb`:这是OpenJDK 8的无头(headless)Java运行时环境(JRE),适用于64位MIPS架构。无头意味着它不包含图形用户界面,主要适用于服务器环境。 2. `...

    Java用OpenOffice将office转换为PDF

    Java使用OpenOffice转换Office文档为PDF是一种常见的技术需求,尤其在企业级应用中,为了保持一致性和跨平台兼容性,可能会需要将Word、Excel或PowerPoint文档转换为PDF格式。以下将详细介绍如何在Java环境中利用...

    selenium+chromedriver在服务器运行的详细教程

    2. 考虑到服务器环境通常没有GUI,可以使用headless模式运行Chrome,命令如下: ```python from selenium import webdriver options = webdriver.ChromeOptions() options.add_argument('--headless') driver = ...

    Headless-Minecraft

    为了运行Headless Minecraft,你需要以下步骤: 1. 下载Minecraft服务器的jar文件,通常可以从官方网站获取。 2. 创建一个启动服务器的批处理文件或shell脚本,其中包含启动服务器的命令,如`java -Xms1G -Xmx2G -...

    java-1.8.0-openjdk-1.8.0.402.b06-1.el7-9.x86-64.rpm离线升级包

    这个包特别适用于那些无法或不便在线更新Java环境的系统,比如在没有互联网连接或者网络环境受限的服务器上。OpenJDK是Java Development Kit(JDK)的一个开源实现,它包含了Java运行时环境(JRE)、编译器和其他...

    java命令参数大全(pdf版)

    例如,`-Djava.awt.headless=true`在没有图形界面的情况下运行Java应用。 7. **-verbose**: 提供详细输出,例如垃圾收集日志或类加载信息。`-verbose:gc`会显示详细的垃圾收集信息。 8. **-server**: 激活服务器级...

    java后端调用hightchars生成图片

    然而,由于Highcharts是基于浏览器的JavaScript库,所以它通常在客户端运行,这限制了其在没有浏览器环境的服务器端使用。 为了在Java后端生成Highcharts图表,我们可以使用“highcharts-serverside-export-master...

    UOS服务器版x86架构openjdk-8-jdk_amd64.tar.gz

    1. `openjdk-8-jre-headless_8u212-b01-1~deb9u1_amd64.deb`:这是OpenJDK 8的无头(headless)Java运行时环境(JRE)的包,意味着它不含图形用户界面,适合服务器环境使用。 2. `openjdk-8-jdk-headless_8u212-b01-...

    Java调用Linux CenterOS系统安装的OpenOffice4报错

    在Java编程中,有时我们需要与操作系统进行交互,例如在服务器端执行系统命令,这通常通过Java的`Runtime.getRuntime().exec()`或`ProcessBuilder`类来实现。在这个特定的问题"Java调用Linux CentOS系统安装的...

    echart+java+springboot

    在Java环境中,ECharts通常通过渲染服务器端生成的HTML,然后使用Headless浏览器(如PhantomJS)来捕获屏幕快照。PhantomJS是一个无头Webkit浏览器,它可以加载网页并执行JavaScript,而无需用户界面。在这个项目中...

    后端代码部署至阿里服务器

    2. **安装Java运行环境**:由于Spring Boot项目基于Java开发,因此需要在服务器上安装JDK。根据提供的内容,在Xshell中可以通过Linux命令行完成JDK的安装与配置。 - 使用`rpm-qa | grep jdk`检查当前系统是否已安装...

    word转pdf在linux与Windows都可用,移植性好

    - `--headless`:表示在无头(后台)模式下运行,适用于服务器环境或无需用户界面的情况。 - `--convert-to pdf`:指定转换的目标格式为PDF。 - `&lt;input-file&gt;`:需要转换的源文件路径。 - `--outdir ...

    百度贴吧java爬虫

    9. **异常处理与日志记录**:良好的错误处理和日志记录是保证爬虫稳定运行的关键,Java的`try-catch-finally`语句和`logging`框架如Log4j、SLF4J可以帮助我们实现。 10. **持续集成与自动化测试**:对于项目维护,...

    Java网络爬虫jar包

    Java网络爬虫可能需要处理这种情况,如使用Selenium WebDriver模拟浏览器执行JavaScript,或使用Headless Chrome/Firefox。 7. **反爬策略**: 避免被网站封禁是网络爬虫开发中的重要考虑。这包括设置合理的请求...

    RaspberryPiMinecraft:Minecraft PC JAVA服务器安装脚本Raspberry Pi 4

    在本文中,我们将深入探讨如何在Raspberry Pi 4上使用Minecraft PC JAVA服务器安装脚本来搭建Minecraft游戏服务器。这个过程涉及到多个技术层面,包括Raspberry Pi的基础知识、Minecraft服务器的设置、Java环境的...

Global site tag (gtag.js) - Google Analytics