我正在尝试在 Java 上缩放图像。在尖峰解决方案中,以下代码可以工作,但在远程 Linux 服务器上安装时,它会给出错误 500。
图像scaledImage = img.getScaledInstance(scaledWidth,scaledHeight,Image.SCALE_SMOOTH);
我收到以下信息:
java.lang.NoClassDefFoundError
java.lang.Class.forName0(Native Method)
java.lang.Class.forName(Class.java:164)
java.awt.Toolkit$2.run(Toolkit.java:821)
java.security.AccessController.doPrivileged(Native Method)
java.awt.Toolkit.getDefaultToolkit(Toolkit.java:804)
java.awt.Image.getScaledInstance(Image.java:158)
据我所知,可能需要在 Tomcat/Java 上设置一个与 headless (headless)模式相关的标志。还有其他解决办法吗?如果不是,我如何设置该标志。
提前致谢!
最佳答案
设置java headless (headless)模式的命令行参数:
-Djava.awt.headless=true
在这里寻找更有趣的解决方案(我个人不喜欢它):Setting java.awt.headless=true programmatically
不确定但值得一试:确保您拥有所有相关的 libX** 库。它可能只使用它们而不使用 X-Windows。
关于Java 缩放图像错误类未找到,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4540642/