私はJava Webアプリケーション(正確にはTapestry)としてパスワードマネージャーを作成しました。アイデアは次のとおりです。パスワードラベルの横にあるボタンをクリックすると、一致するパスワードがシステムクリップボードにコピーされます。Tomcat を標準の方法 (startup.bat を実行) で起動すると完全に機能しますが、それは必要ではありません。起動時にTomcatをWindowsサービスとして開始する必要がありますが、この場合、クリップボードへの対処を除いて、アプリケーションのすべてが完全に機能します。エラーは発生せず、ログにも何も問題はありません。テキストがコピーされないだけです。なぜそうなのか、何がそのような動作を引き起こす可能性があるのか、誰か教えてもらえますか? サービスにはクリップボードをいじる権利がないのでしょうか?もしそうなら、私はそれを機能させることができますか? どんな助けでも大歓迎です
質問する
160 次
1 に答える
1
tomcat がサービスとして実行される場合、メイン ウィンドウの GUI にリンクされたユーザーでは実行されないため、すべての awt 機能が無効になります。それらの一部を取り戻す唯一の方法は、追加することです
-Djava.awt.headless=true
tomcatの起動パラメータ - http://support.sas.com/kb/12/599.htmlを参照ローカルにログインしているユーザーと同じユーザーで tomcat を実行し、「.bat として実行」を最も簡単なオプションにする必要があります。
于 2012-11-04T00:52:22.560 に答える