[英]java.awt.HeadlessException
JFileChooser chooser = new JFileChooser();
JDialog dialog=new JDialog();
dialog.setAlwaysOnTop(true);
/*System.out.println("is always on top?"+dialog.isAlwaysOnTop());*/
chooser.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
int returnVal = chooser.showOpenDialog(dialog);
String path = null;
if(returnVal == JFileChooser.APPROVE_OPTION) {
path=chooser.getSelectedFile().getAbsolutePath();
}
我已经在Servlet的doGet
方法中编写了这段代码。当我在linux服务器上部署时遇到以下异常:
java.awt.HeadlessException
at java.awt.GraphicsEnvironment.checkHeadless(GraphicsEnvironment.java:159)
有谁知道怎么过来这个?
HeadlessException的
在不支持键盘,显示器或鼠标的环境中调用依赖于键盘,显示器或鼠标的代码时,抛出此异常。
您的HTML表单应该是这样的:
<form action="upload" method="post" enctype="multipart/form-data">
<input type="file" name="file" />
<input type="submit" />
</form>
然后,使用Apache Commons FileUpload ,您可以在Servlet中处理上传的文件。 有关详细信息,请参阅其用户指南和常见问题
Web应用程序通常在无头的后端服务器上运行。 除了在Applet中运行的GUI之外,最好避免使用任何GUI。
如果你在具有低权限的Linux下运行它,你得到这个:
java.lang.RuntimeException: Failed to create component for 'frame' reason: java.awt.HeadlessException
at Pp$_run_closure1.doCall(Pp2.groovy:17)
at Pp.run(Pp2.groovy:15)
at Pp$run.call(Unknown Source)
at Pp.main(Pp2.groovy:12)
Caused by: java.awt.HeadlessException
你必须使用正确的权限运行它。
首先尝试使用最大权限:
sudo groovy MyClass.groovy
这应该可以解决您的问题。
在Fedora和其他一些Linux发行版中,默认情况下只安装无头java运行时。 您可能需要安装完整的Java运行时:
sudo yum install java-1.8.0-openjdk
资料来源: https : //github.com/chatty/chatty/issues/261#issuecomment-392228006
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.