我刚刚继承了一个java应用程序,需要在XP和vista上作为服务安装。我已经8年没有使用任何形式的windows了,我从来没有创建过服务,更不用说从java应用程序(我已经为应用程序准备了一个jar和一个依赖jar - log4j)。使其作为服务运行所必需的魔力是什么?我已经得到了源代码,所以代码修改(尽管最好避免)是可能的。
当前回答
我在Java服务包装器方面有一些运气
其他回答
我总是只使用sc.exe(参见http://support.microsoft.com/kb/251192)。它应该安装在从SP1开始的XP上,如果它不符合你的Vista风格,你可以通过Vista资源包下载加载它。
我没有使用Java做过太复杂的事情,但是使用完全限定的命令行参数(x:\ Java .exe ....)或使用Ant创建一个脚本来包含依赖项和设置参数对我来说都很好。
一种简单的方法是使用NSSM Wrapper Wrapper(请参阅我的博客文章)。
JavaService是LGPL。这是非常容易和稳定的。强烈推荐。
我认为Java服务包装器工作得很好。请注意,集成应用程序有三种方法。如果您不想更改代码,那么听起来选项1最适合您。配置文件可能有点疯狂,但只要记住(对于选项1)您正在启动并将为其指定参数的程序是它们的辅助程序,然后它将启动您的程序。他们对此有一个示例配置文件。
以下是不同解决方案的比较: http://yajsw.sourceforge.net/#mozTocId284533
个人喜欢launch4j
推荐文章
- URLEncoder不能翻译空格字符
- Java中的super()
- 如何转换JSON字符串映射<字符串,字符串>与杰克逊JSON
- 使用Java在原语数组中查找最大/最小值
- 如何自动生成N“不同”的颜色?
- 如何从java应用程序创建一个windows服务
- 好的Java图算法库?
- 将字符串转换为Uri
- jUnit中的字符串上的AssertContains
- 将JSON转换为映射
- 在Java8中使用lambda仅在不为空时筛选值
- Java反射中的getFields和getDeclaredFields有什么区别
- 如何检查一个文件夹是否存在?
- 错误:无法在intelliJ IDE中找到或加载主类
- 如何创建Android Facebook密钥哈希?