2014-01-26 92 views
2

我有一个Java应用程序,它侦听端口并接受传入的连接。它从平面文件(配置文件)中获取端口号。它需要将一些.dll放置在JRE文件夹中才能工作。从jar文件创建windows服务

我想按照下面的方式做。

  • 创建.jar文件(我已经做到了)
  • 创建.exe文件或安装文件(这会自动将这些.dll文件中相应的JRE路径
  • 当安装程序完成自动启动.jar文件服务将在后台运行Windows服务。

我在2个3点的某些问题。我怎样才能从.jar文件?第三方工具,我应该使用哪一个创建安装?最后我怎样才能启动.exe作为Windows服务?

+0

java的要点是编写一次并在任何地方运行。你在用什么DLL?也许你可以使用Java API来完成同样的事情。 –

+0

这个库用于串行通信'rxtx' dll的名称是'rxtxSerial.dll' – Shaggy

+3

它不应该有必要将DLL放入JRE文件夹中 - 并且如果用户混淆基本系统,用户可能会扼杀你配置这种方式。作为启动Java代码的过程的一部分,请恰当地设置路径。 – keshlam

回答

0

使用类似Zero Install,install4jIzPack的工具为您需要的所有平台创建安装程序(例如.exe)。这些工具使用二进制安装程序包装您的JAR文件。通常他们还允许您安装/复制其他文件,例如您的DLL。

此外,由@keshlam在评论中提出,可以将这些安装程序配置为使用特定参数(例如DLL的路径)运行您的应用程序。

顺便说一句,你有没有想过使用JavaComm instead of RxTx

+0

我发现rxtx比java comm – Shaggy

+0

快很多......希望我的回答仍然有帮助。 –