gpt4 book ai didi

java - 使用java创建Windows服务

转载 作者:行者123 更新时间:2023-11-30 07:48:21 25 4
gpt4 key购买 nike

我开发了一个收集一些数据的桌面应用程序(客户端)。即使在没有互联网连接的情况下它也能工作。

我也想用java创建一个Windows服务,每次建立互联网连接时,都会从应用程序数据库中获取数据并将其发送到某个远程服务器。

我在互联网上搜索了很长时间,了解如何以及使用什么在 java 中创建 Windows 服务,我得到的是

Java Service Wrapper

互联网上的人们似乎都在使用它,但对我来说,我无法找到合适的文档来说明如何创建服务。

任何人都可以帮助我创建 Windows 服务或类似的东西吗?

最佳答案

在 pom.xml 中添加类似内容:

<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>appassembler-maven-plugin</artifactId>
<version>1.7</version>
<executions>
<execution>
<id>generate-jsw-scripts</id>
<phase>package</phase>
<goals>
<goal>generate-daemons</goal>
</goals>
<configuration>
<repositoryLayout>flat</repositoryLayout>
<includeConfigurationDirectoryInClasspath>true</includeConfigurationDirectoryInClasspath>
<daemons>
<daemon>
<id>${jsw_name}</id>
<mainClass>${path_to_runner_class}</mainClass>
<commandLineArguments>
<commandLineArgument>start</commandLineArgument>
</commandLineArguments>
<jvmSettings>
<initialMemorySize>512M</initialMemorySize>
<maxMemorySize>512M</maxMemorySize>
<!--systemProperties><systemProperty>com.sun.management.jmxremote</systemProperty><systemProperty>com.sun.management.jmxremote.port=9010</systemProperty><systemProperty>com.sun.management.jmxremote.local.only=false</systemProperty><systemProperty>com.sun.management.jmxremote.authenticate=false</systemProperty><systemProperty>com.sun.management.jmxremote.ssl=false</systemProperty><systemProperty>org.tanukisoftware.wrapper.WrapperManager.mbean=TRUE</systemProperty><systemProperty>org.tanukisoftware.wrapper.WrapperManager.mbean.testing=false</systemProperty></systemProperties-->
</jvmSettings>
<generatorConfigurations>
<generatorConfiguration>
<generator>jsw</generator>
<includes>
<include>linux-x86-64</include>
<include>windows-x86-64</include>
</includes>
</generatorConfiguration>
</generatorConfigurations>
<platforms>
<platform>jsw</platform>
</platforms>
</daemon>
</daemons>
</configuration>
</execution>
</executions>
</plugin>

输入名称而不是jsw_name,例如jsw_example 和您的运行者类的路径(具有主要功能的类),例如com.copper.drivers.emulation.Runner 而不是 path_to_runner_class。然后构建项目。转到 target\generated-resources\appassembler\jsw\${project_name}\bin\,您将在那里找到要从 Windows 和 Linux 运行的文件。以管理员身份打开 cmd 并使用命令运行它们: ${project_name} console - 如果您想在控制台中运行它${project_name} start - 将其作为服务运行。

如果需要 jmx,请取消注释 systemProperties。

附注如果您使用 Linux - 使用命令 bin/${project_name} start 或 bin/${project_name} console 从 ${project_name} 目录启动它。

关于java - 使用java创建Windows服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33610151/

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