Tomcat作为服务无法使用系统剪贴板?

时间:2012-11-04 00:37:46

标签: java tomcat service

我将密码管理器设为java web应用程序(Tapestry准确),想法如下,当您点击密码标签旁边的按钮时,匹配的密码应该复制到系统剪贴板。当我以标准方式启动tomcat(运行startup.bat)时,它工作得很好,但这不是我需要的。我需要我的tomcat在启动时作为Windows服务启动,但在这种情况下,我的应用程序中的所有内容都能正常工作,除了复制到剪贴板。没有错误发生,也没有在日志中出现任何错误,文本只是不复制。 有人能告诉我为什么会这样,以及会导致这种行为的原因是什么?可以是服务没有权利搞乱剪贴板,如果是这样,我可以让它工作吗? 欢迎任何帮助

1 个答案:

答案 0 :(得分:1)

当tomcat作为服务运行时,它不会运行是链接到主窗口GUI的用户,因此所有awt功能都被禁用。让其中一些回来的唯一方法是添加

-Djava.awt.headless=true

到tomcat启动参数 - 请参阅http://support.sas.com/kb/12/599.html 但是,这可能是不够的,因为每个用户都有自己的控制台,因此tomcat将复制到自己的用户控制台 - 您应该使用与本地登录用户相同的用户运行tomcat,使“以.bat运行”最简单的选择。