gpt4 book ai didi

Java 服务包装器为 Java UI 应用程序创建服务

转载 作者:行者123 更新时间:2023-12-02 07:41:15 25 4
gpt4 key购买 nike

我创建了一个需要作为服务运行的 Java 应用程序。对于服务包装器,我尝试使用 tanuki 和其他包装器软件。现在,我的应用程序确实作为服务运行 - 但是,它在 SYSTEM 下作为服务运行,而不是在当前登录的用户下运行。

我的应用程序有一个 UI,当应用程序作为服务运行时,它不会显示。我怀疑这种情况已经发生,因为该服务是在 SYSTEM 下运行,而不是在当前登录的用户下运行。当我运行应用程序(没有将其安装为服务)时,UI 确实会显示,我可以看到 java 进程在当前用户的 id 下运行,而当作为服务安装时,它在 SYSTEM 下运行。

现在,如果没有 UI,我的应用程序就没有任何意义。我需要应用程序在系统启动时作为服务运行,并且 UI 也需要显示。

有没有人尝试过我在这里所做的事情并且遇到过类似的问题。如果是这样,您是如何解决的?是否有其他包装服务可供我使用而不会出现此问题。

Tanuki 的文档确实解释了将 Java 应用程序设置为服务,但没有讨论具有 UI 的 Java 应用程序并在当前登录的用户下运行它。

更新

只是为了让这里的人们能够更多地了解我想要实现的目标 - 我尝试在我的应用程序中实现的行为类似于 Dropbox 或 Yahoo Messenger 或任何其他应用程序其他软件随 Windows 启动而启动并继续在后台运行,允许用户使用系统托盘图标与其交互。所以基本上所有这些都是用 Java/Swing 构建的。现在,当涉及到应用程序的部署时,我可以独立运行它,但运行 jar 文件,或者为其创建并运行可执行包装器。但是,我希望该软件随 Windows 启动而启动,并继续在后台作为服务运行,同时允许用户通过从它设置的系统托盘图标调出 UI 来进行更改并与之交互。到目前为止,它确实作为服务成功运行。它执行理想情况下应该执行的所有操作 - 只是没有系统托盘图标来调出 UI 并更改其配置。

更新 - 2

好的..我尝试了高级安装程序,它确实为我打包了生成 Windows exe 安装程序的所有内容。现在我需要的是自动启动软件。谁能帮我这个?我在高级安装程序中没有看到自动让程序将自身添加到自动启动中的选项。

链接到 tanuki 的文档 http://wrapper.tanukisoftware.com/doc/english/faq.html

最佳答案

罗汉,请查看以下页面:

http://wrapper.tanukisoftware.com/doc/english/prop-ntservice-interactive.html

您需要将服务标记为交互式,然后以系统用户身份运行,以便让您的 GUI 显示在第一个登录的桌面上。

问题在于,从 Windows 2008 和 Vista 开始,Microsoft 更改了允许服务执行的操作。这意味着从这些版本开始,GUI 将始终显示在用户需要切换到的沙盒桌面上。

如果您想在所有桌面上、所有版本的 Windows 中显示 GUI,您将需要在桌面内运行 JVM。

干杯,莱夫

关于Java 服务包装器为 Java UI 应用程序创建服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11549881/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com