相关疑难解决方法(0)

如何从java应用程序创建Windows服务

我刚刚继承了一个需要在XP和Vista上作为服务安装的java应用程序.自从我以任何形式使用Windows以来已经过去了大约8年,我从来没有创建过服务,更不用说像java应用程序这样的东西(我有一个应用程序jar和一个依赖jar - log4j ).将此作为服务运行所需的魔力是什么?我有源代码,因此可以进行代码修改,但最好是避免代码修改.

java windows-services

216
推荐指数
9
解决办法
28万
查看次数

将JAR作为Windows服务运行

我有一个JAR文件,我想注册并将其作为Windows服务运行.通过配置良好的JAR和已经注册的JVM关闭挂钩,这不应该是一件大事.

我已经有一个带外部lib目录的JAR ,我可以启动它java -jar My.jar并停止Ctrl+C.

我还检查了Apache的JSL,JSmooth和procrun没有可行的解决方案.

我需要一个有良好教程的工作解决方案.

更新:我成功同时procrun(最后)和手动.net服务包装器......这是我的install.bat的procrun版本的代码:

set PR_PATH=%CD%
SET PR_SERVICE_NAME=MyService
SET PR_JAR=MyService.jar
SET START_CLASS=org.my.Main
SET START_METHOD=main
SET STOP_CLASS=java.lang.System
SET STOP_METHOD=exit
rem ; separated values
SET STOP_PARAMS=0
rem ; separated values
SET JVM_OPTIONS=-Dapp.home=%PR_PATH%
prunsrv.exe //IS//%PR_SERVICE_NAME% --Install="%PR_PATH%\prunsrv.exe" --Jvm=auto --Startup=auto --StartMode=jvm --StartClass=%START_CLASS% --StartMethod=%START_METHOD% --StopMode=jvm --StopClass=%STOP_CLASS% --StopMethod=%STOP_METHOD% ++StopParams=%STOP_PARAMS% --Classpath="%PR_PATH%\%PR_JAR%" --DisplayName="%PR_SERVICE_NAME%" ++JvmOptions=%JVM_OPTIONS%
Run Code Online (Sandbox Code Playgroud)

我认为

  • 从jar和prunsrv.exe所在的目录运行它
  • jar有它的工作MANIFEST.MF
  • 并且你有注册到JVM的关闭钩子(例如在Spring中使用context.registerShutdownHook())...
  • 没有使用jar之外的文件的相对路径(例如log4j应该与log4j.appender.X.File = $ {app.home} /logs/my.log或类似的东西一起使用)

感谢apache procrun团队(http://commons.apache.org/proper/commons-daemon//procrun.html)和marifnst(http://a089lp.wordpress.com/tag/procrun-tutorial/)

更新2:winsv的一个新的好教程:https://dzone.com/articles/spring-boot-as-a-windows-service-in-5-minutes

java windows-services jar

15
推荐指数
2
解决办法
3万
查看次数

将Selenium Server和ChromeDriver作为Windows服务运行

因此,我们可以执行从前到后的Web UI测试,我们使用Selenium和ChromeDriver自动化页面加载/交互作为我们测试包的一部分.

这在开发人员测试期间(在开发人员的本地计算机上)表现得如预期,但我们正在努力执行这些检查,作为我们持续集成构建的一部分.

我们的服务器工厂基于*NIX,我们所有的CI基础设施都在这些机器上运行.因此我们可以在Windows(我们的交付机制)下测试Chrome,我们已经配置了Selenium Grid.当CI测试运行时,他们访问网格,以便找到运行测试的Windows节点.

我们已经配置了Windows桌面,仅用于运行这些测试.这包含我们标准的Windows 7企业版本.该机器将定期重新启动,与IT部门的更新策略一致.

为了确保Selenium服务器始终运行,我们将Selenium Server(以"节点"模式运行)添加为Windows服务.selenium Server配置为启动ChromeDriver以调用模拟的用户交互.

但是,从CI运行测试时,由于超时而失败.我们的工作原理是,运行服务的系统用户无法创建交互式窗口.网络搜索引发了对"会话0"问题的引用,但对如何向前推进几乎没有建设性意见.

从交互式会话手动启动Selenium Server进程不是一个可行的解决方案,因为这会导致脆弱的测试 - 由于基础结构问题导致测试失败,而不是真正的测试回归.


每当系统重新启动时,我们如何通过Windows服务启动Selenium Server实例,该实例能够启动Chrome实例?

selenium webdriver selenium-webdriver

14
推荐指数
3
解决办法
2万
查看次数

如何在Netbeans内部署远程服务器上的jar文件?

我开发了一个服务器[server.jar],它现在运行良好(在我的localhost上).现在我想把这个server.jar"放"在我的远程服务器上(即:122.152.12.33)并在那里运行,所以我的客户端应用程序用这个ip替换"Localhost"并连接[server.jar] ...

我该怎么办?

我找到了答案但却不理解它们(WAR?和一些配置).

我正在使用NetBeans IDE.部署Jar文件并使用netbeans转换为war.

注意我也使用Mysql数据库,我必须在服务器端上传它.

*更新: 另一个相关问题:

如果我想在现有网站(Wordpress发布的网站)上尝试我的server.jar,只需将我的项目添加到文件夹中,这可能会损害在线网站吗?

我可以用php来运行Jar吗?(在线的网站是链接.我想创建一个文件夹http://akhbarna.com/MyPrject/ ...然后将Jar放在那里并通过Php运行它.它可能吗?这可能会如何影响在线网站?

java deployment netbeans

7
推荐指数
1
解决办法
2万
查看次数