0

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

4

1 回答 1

1

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

-Djava.awt.headless=true

to the tomcat startup parameters - see http://support.sas.com/kb/12/599.html 但是,这可能还不够,因为每个用户都有自己的控制台,所以 tomcat 会复制到自己的用户控制台中 - 你应该使用与本地登录用户相同的用户运行 tomcat,使“作为 .bat 运行”成为最简单的选项。

于 2012-11-04T00:52:22.560 回答