首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

使用apache commons创建的Windows服务未正确启动,并且未找到指向jvm.dll的路径错误

当使用Apache Commons创建Windows服务时,如果遇到“未找到指向jvm.dll的路径”错误,通常是因为Java运行时环境(JRE)的路径没有正确配置。以下是解决此问题的步骤:

基础概念

Apache Commons Daemon(也称为Procrun)是一个用于将Java应用程序作为Windows服务运行的工具。jvm.dll是Java虚拟机(JVM)的一部分,位于JRE的bin目录下。

解决步骤

  1. 确认JRE路径: 确保你已经安装了JRE,并且知道其安装路径。例如,默认路径可能是:
  2. 确认JRE路径: 确保你已经安装了JRE,并且知道其安装路径。例如,默认路径可能是:
  3. 修改服务配置文件: 编辑服务的配置文件(通常是.conf文件),指定正确的JVM路径。例如:
  4. 修改服务配置文件: 编辑服务的配置文件(通常是.conf文件),指定正确的JVM路径。例如:
  5. 使用Procrun重新安装服务: 使用Procrun的prunsrv.exe工具重新安装服务,并指定JVM路径。假设你的服务名为MyService,可以使用以下命令:
  6. 使用Procrun重新安装服务: 使用Procrun的prunsrv.exe工具重新安装服务,并指定JVM路径。假设你的服务名为MyService,可以使用以下命令:
  7. 检查环境变量: 确保系统的环境变量中包含了JRE的路径。可以在命令提示符中运行以下命令检查:
  8. 检查环境变量: 确保系统的环境变量中包含了JRE的路径。可以在命令提示符中运行以下命令检查:
  9. 手动指定JVM路径: 如果上述方法仍然无效,可以在Procrun命令中直接指定jvm.dll的完整路径:
  10. 手动指定JVM路径: 如果上述方法仍然无效,可以在Procrun命令中直接指定jvm.dll的完整路径:

示例代码

假设你的Java应用程序主类是com.example.Main,并且你的JAR文件位于C:\path\to\your\application.jar,以下是一个完整的Procrun安装命令示例:

代码语言:txt
复制
prunsrv.exe //IS//MyService --DisplayName="My Service" --Install="C:\path\to\prunsrv.exe" --Jvm="C:\Program Files\Java\jre1.8.0_XXX\bin\server\jvm.dll" --Classpath="C:\path\to\your\application.jar" --StartMode=jvm --StopMode=jvm --StartClass=com.example.Main --StartMethod=start --StopClass=com.example.Main --StopMethod=stop --JvmOptions="-Dfile.encoding=UTF-8"

应用场景

这种配置通常用于需要在Windows服务器上长时间运行的Java应用程序,例如后台服务、定时任务处理等。

优势

  • 稳定性:作为Windows服务运行可以确保应用程序在系统启动时自动启动,并且在后台持续运行。
  • 管理方便:可以通过Windows服务管理工具轻松管理服务。

通过以上步骤,你应该能够解决“未找到指向jvm.dll的路径”错误,并成功启动你的Windows服务。如果问题仍然存在,请检查是否有其他依赖项或权限问题。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

【Java】解决Java报错:NoClassDefFoundError

常见的出错场景 2.1 类路径配置错误 最常见的情况是类路径配置错误,导致JVM在运行时无法找到所需的类文件。...,将抛出NoClassDefFoundError } } 2.2 依赖库缺失 程序依赖的第三方库未正确包含在类路径中,导致运行时找不到类文件。...] args) { String result = StringUtils.trim(" Hello "); // 如果Apache Commons Lang库未包含在类路径中,将抛出...解决方案 解决NoClassDefFoundError的关键在于确保所有必要的类文件在类路径中,并正确配置类加载器。 3.1 检查类路径配置 确保所有必要的类文件和库包含在类路径中。...3.2 检查依赖库 确保所有依赖库正确包含在类路径中,使用构建工具(如Maven或Gradle)管理依赖关系。 <!

1.3K10

Eclipse启动故障排除指南:eclipse 启动报错如何解决 Failed to load the JNl shared library “C:ProgramFilesWjavaljdk-1.8

配置Eclipse使用的JDK 修改eclipse.ini文件,确保Eclipse指向正确版本的JDK。...-vm C:/Program Files/Java/jdk-1.8/bin/javaw.exe 设置环境变量 确保JAVA_HOME环境变量正确设置,并且系统路径(Path)包含%JAVA_HOME%\...# Windows环境变量设置 # JAVA_HOME: C:\Program Files\Java\jdk-1.8 小结 这一部分我们详细讨论了如何解决Eclipse启动时遇到的JNl共享库加载失败的错误...参考资料 Oracle官方文档 Eclipse官方论坛 表格总结本文核心知识点 关键词 说明 Eclipse启动错误 由于位数不匹配或路径配置错误导致的启动问题 JNI共享库加载失败 具体的错误信息,指向了问题根源...JDK配置 确保Eclipse指向正确的JDK路径 环境变量设置 正确设置JAVA_HOME和系统路径 总结 我们讨论了如何解决Eclipse启动时的JNI共享库加载失败问题,重点是检查和匹配Eclipse

2.3K10
  • 引入分布式Id遇到的坑

    Id的服务模块的启动类上添加@EnableIdGenerator注解 服务模块中的配置文件中添加配置,不添加则使用默认配置(默认配置不使用zookeeper生成Id,不会有问题) 服务模块的pom文件中添加通用模块依赖.../curator/retry/ExponentialBackoffRetry  怀疑是该对象依赖的包未正确引入 检测common-base的pom文件中有该依赖 本地仓库中也有该包 怀疑是引用的服务模块中未能找到该依赖...,在服务模块的pom文件中添加该依赖后可以正常启动 之前怀疑过是jar包版本问题: 确保包含如下依赖,注意该依赖所依赖的的zookeeper的jar版本需与zookeeper服务器版本匹配,具体版本对应见.../zkServer.sh restart 如果部署的是集群,则每台服务都重复以上操作 连接客户端,连接成功后使用命令ls /查看节点 ....groupName获取锁失败,查看日志 ​ 正确的锁路径应该是/snowflake/lock/xxx workId路径应该是/snowflake/[workId]/xxx 重新为获取锁创建新路径

    48230

    Windows下的git服务器搭建

    然后打开Windows服务可以看到一个叫gitblit的服务,如图 ? 但是是未启用的状态,点击启用的话有可能会报错。...如下图 Service status 会显示当前服务器状态,点击start看看能否成功启动,如果不能成功启动则需要检查一下菜单栏里面Java里面的第一个文件路径。...我当时没有装JRE,用的是JDK里面的jvm.dll 结果死活启动不了,搞了很久 换个JRE的jvm.dll就好了。...这里应该是需要搞成合适的jvm.dll才能启动服务,给大家踩了个坑,,直接把JRE JDK都装了就啥事没有一路顺畅。 ? ?   至此,一旦service status 状态是 stared 。...git 服务器的搭建就是这些,容易被坑的地方我也全部指出来了。下一个博客会就我个人水平来简要分享一下git怎么使用,不过更新得随缘了   o(* ̄▽ ̄*)ブ

    11.1K20

    Jboss漏洞利用总结

    JBOSS简介 JBoss是一个基于J2EE的开放源代码应用服务器,代码遵循LGPL许可,可以在任何商业应用中免费使用;JBoss也是一个管理EJB的容器和服务器,支持EJB 1.1、EJB 2.0和EJB3...但JBoss核心服务不包括支持servlet/JSP的WEB容器,一般与Tomcat或Jetty绑定使用。在J2EE应用服务器领域,JBoss是发展最为迅速的应用服务器。...JMX Console未授权访问Getshell 漏洞描述 此漏洞主要是由于JBoss中/jmx-console/HtmlAdaptor路径对外开放,并且没有任何身份验证机制,导致攻击者可以进⼊到jmx...我们先启动靶机环境,访问:http://yourip:8080/ ? 下面使用JavaDeserH2HC 生成反弹 shell 的 payload javac -cp ....3.2.1 Apache Group Commons Collections 漏洞利用 跟CVE-2015-7501利⽤⽅法⼀样,只是路径不⼀样,这个漏洞利⽤路径是 /invoker/EJBInvokerServlet

    6.4K30

    OrientDB在Linux及在Windows中安装的操作方式

    使用zip提取器解压缩zip文件。 将提取的文件夹移动到C:\目录。 使用以下给定值创建两个环境变量ORIENTDB_HOME和PATH变量。...您可以通过使用以下步骤将OrientDB数据库服务器作为服务启动。 该过程不同,具体取决于您的操作系统。...由具有一组指定信号的操作系统控制的程序在Windows中称为服务。 我们必须使用Apache Common Daemon,它允许Windows用户将Java应用程序封装为Windows服务。...为了将OrientDB配置为Windows服务,您必须执行一个使用prusrv.exe作为Windows服务的简短脚本。...在Windows 按照给定的程序在Windows验证OrientDB安装。 运行服务器:您可以使用下面的命令来启动服务器。 > cd %ORIENTDB_HOME%in > .

    1.9K30

    网站HTTP错误状态代码及其代表的意思总汇

    500.11 服务器错误:Web 服务器上的应用程序正在关闭。 500.12 服务器错误:Web 服务器上的应用程序正在重新启动。 500.13 服务器错误:Web 服务器太忙。...500.14 服务器错误:服务器上的无效应用程序配置。 500.15 服务器错误:不允许直接请求 GLOBAL.ASA。 500.16 服务器错误:UNC 授权凭据不正确。...0165 SessionID 错误。无法创建 SessionID 字符串。 0166 对象未初始化。试图访问未初始化的对象。 0167 会话初始化错误。初始化 Session 对象时发生错误。...无法正确删除 Session。 0171 路径丢失。必须为 MapPath 方法指定 Path 参数。 0172 路径无效。MapPath 方法的路径必须是虚拟路径。使用了一个实际的路径。...0175 不允许的路径字符。MapPath 方法的 Path 参数中不允许使用 '..' 字符。 0176 未找到路径。MapPath 方法的 Path 参数与已知路径不符。

    5.9K20

    使用Gradle自定义配置构建Java程序

    自定义源代码路径、编译输出路径 某些情况下默认的源代码路径等可能不符合我们项目的结构,这时除了修改项目结构外,我们还可以自定义源代码路径等配置。...配置和使用外部依赖 下面我们使用 Apache Commons Lang 库来替换我们的代码(这部分内容不涉及到gradle,故不详细阐述) 很显然,我们引入了第三方库,需要告知 Gradle 否则编译是不能通过的...,会被以下错误: www.coderknock.com$ gradle build :compileJava D:\Windows\Desktop\LearnGradle\使用Gradle自定义配置构建...Java程序\src\com\manning\gia\todo\ToDoApp.java:5: 错误: 程序包org.apache.commons.lang3不存在 import org.apache.commons.lang3....CharUtils; ^ D:\Windows\Desktop\LearnGradle\使用Gradle自定义配置构建Java程序\src

    89720

    Postman带token测试接口、找不到生产者、无法连接MySQL、禅道部署

    RpcException:No provider available for remote service 解决思路 1.检查服务中心是否正常启动 2.去服务中心查看服务列表,检查对应的服务是否存在...’ (2) **原因分析:**这是由于我们连接数据库使用的主机名参数为“localhost”,或者未使用主机名参数、服务器默认使用“localhost”做为主机名。...使用主机名参数为“localhost”连接mysql服务端时,mysql客户端会认为是连接本机,所以会尝试以socket文件方式进行连接(socket文件连接方式,比“ip:端口”方式效率更高),这时根据配置文件...“/etc/mysql.cnf”的路径,未找到相应的socket文件,就会引发此错误。...使用“ln -s /storage/db/mysql/mysql.sock /var/lib/mysql/mysql.sock”命令,将正确的socket文件位置,软链接到提示错误的socket文件路径位置

    1.3K32

    MyBatis官方文档-日志

    它会使用第一个查找得到的工具(按上文列举的顺序查找)。如果一个都未找到,日志功能就会被禁用。...不少应用服务器(如 Tomcat 和 WebShpere)的类路径中已经包含 Commons Logging,所以在这种配置环境下的 MyBatis 会把它作为日志工具,记住这点非常重要。...如果你的应用部署在一个类路径已经包含 Commons Logging 的环境中,而你又想使用其它日志工具,你可以通过在 MyBatis 配置文件 mybatis-config.xml 里面添加一项 setting...下面的例子将使用 Log4J 来配置完整的日志服务,共两个步骤: 步骤 1:添加 Log4J 的 jar 包 因为我们使用的是 Log4J,就要确保它的 jar 包在应用中是可用的。...{ @Select("SELECT * FROM blog WHERE id = #{id}") Blog selectBlog(int id); } 在应用的类路径中创建一个名称为 log4j.properties

    1.1K10

    MyBatis-6.日志

    它会使用第一个查找得到的工具(按上文列举的顺序查找)。如果一个都未找到,日志功能就会被禁用。...如果应用服务器(如 Tomcat 和 WebShpere)的类路径中已经包含 Commons Logging,那么在这种配置环境下的 MyBatis 会把它作为日志工具。...如果应用部署在一个类路径已经包含 Commons Logging 的环境中,而又想使用其它日志工具,可以通过在 MyBatis 配置文件 mybatis-config.xml 里面添加一项 setting...步骤 1:添加 Log4J 的 jar 包 因为我们使用的是 Log4J,就要确保它的 jar 包在应用中是可用的。要启用 Log4J,只要将 jar 包添加到应用的类路径中即可。...{ @Select("SELECT * FROM blog WHERE id = #{id}") Blog selectBlog(int id); } 在应用的类路径中创建一个名称为 log4j.properties

    42430

    Windows搭建FTP服务器,JAVA实现读写功能

    开启FTP功能 首先打开控制面板–>程序–>启用或关闭Windows功能: 勾选FTP服务、Web管理工具、万维网服务: 点击完成,等待生效: 放行端口 打开Windows防火墙–>允许应用通过防火墙...添加FTP访问用户 可选操作,如果是设置匿名访问FTP,或者直接使用Windows已有的用户,就不用创建用户。...修改FTP设置 打开计算机管理功能,在服务中找到Internet Information Services,展开计算机用户–>网站,双击创建的FTP服务器,然后就可以进行各种修改了: 添加所有用户访问...: ​ package org.example; import org.apache.commons.net.ftp.FTPClient; import org.apache.commons.net.ftp.FTPFile...* @param fileName 文件上传到ftp服务器的名称 * @param originPath 要上传文件所在的路径(绝对路径) **/ public

    6.3K10

    漏洞库(值得收藏)

    修复建议: 1.通过修改配置文件,去除中间件(如IIS、apache、tomcat)的文件目录索引功能 2.设置目录权限 3.在每个目录下创建一个空的index.html页面。...它检测的点在于用户输入的时候,xss filter分为白名单与黑名单,推荐使用白名单,但即使使用白名单还是无法完全杜绝xss问题,并且使用不当可能会带来很高的误报率。...可带来如下危害: Web 应用程序执行指向外部站点的重定向; 攻击者可能会使用 Web 服务器攻击其他站点,这将增加匿名性。...commons-collections(bin包),用压缩包中的commons-collections-x.x.x.jar替换有漏洞的jar包 jar包下载地址: http://commons.apache.org.../proper/commons-collections/download_collections.cgi 注意:保持原jar包的名字,即名字不变换掉jar包 最后启动weblogic。

    3.9K55
    领券