【发布时间】:2011-10-25 17:36:15
【问题描述】:
我正在尝试使用 tomcat 7 将 java 应用程序作为 Windows 服务运行。在此应用程序中,我通过 Hibernate 与 MySql 建立了数据库连接。当我运行tomcat时,它停在这一行:
SessionFactory sessionFactory = new Configuration().configure().buildSessionFactory();
我在 WEB-INF\lib 目录中有所有必要的休眠 jar。 当从 Eclipse 运行这个应用程序时,它运行良好。 这是 run.bat 文件:
cd "c:\Users\sl300\Project\temp3\build\classes"
temp3.exe //IS//temp3 ^
--Install="c:\Users\sl300\Project\temp3\build\classes\temp3.exe" ^
--Description="My Watcher Service" ^
--Jvm=auto ^
--Classpath="c:\Users\sl300\Project\temp3\build\classes" ^
--StartMode=jvm --StartClass=ServiceControl ^
--StartMethod=windowsService ^
--StartParams=start ^
--StopMode=jvm ^
--StopClass=ServiceControl ^
--StopMethod=windowsService ^
--StopParams=stop ^
--LogPath="c:\Users\sl300\Project\temp3\logs" ^
--StdOutput=auto ^
--StdError=auto
temp3w //MS//
我需要做些什么来完成这项工作?
【问题讨论】:
-
没有可用的日志文件?我敢打赌 hibernate 找不到它的配置...你使用嵌入式 tomcat 吗?
-
我收到了这个错误:java.lang.NoClassDefFoundError: org/hibernate/Session
-
好吧,这就是我的想法。类路径中没有后备类,我猜tomcat类也没有。如果您不使用嵌入式tomcat,则必须重新处理该文件。查看
tomcat/bin文件夹和对应的启动脚本。 -
好的,我将所有 jar 移到所有 tomcat jar 所在的“c:\Program Files\Apache Software Foundation\Tomcat 7.0\lib”,并在 run.bat 文件中进行了更改:“-- Classpath="c:\Program Files\Apache Software Foundation\Tomcat 7.0\lib" ^" 它仍然给我同样的错误
-
你看我的回答了吗。试试看。 tomcat 也有指向
tomcat/bin中 JAR 的引导类路径。
标签: hibernate tomcat service sessionfactory