如何使用命令行安装将Tomcat 7作为Windows服务安装

我需要将Tomcat 7安装Windows服务并手动启动服务。

参考如何将Tomcat安装为Windows服务 ,我相信我需要在命令行中指定以下内容:

tomcat7 //IS//Tomcat7 --DisplayName="Apache Tomcat 7" --Install="C:\Tomcat7\bin\tomcat7.exe 

我是否还需要在命令行中指定全部或部分以下内容? 如果只有一些,请指定哪些。 如果示例中的任何内容不正确,请指定。

 --Jvm=auto --StartMode=jvm --StopMode=jvm --StartClass=org.apache.catalina.startup.Bootstrap --StartParams=start --StopClass=org.apache.catalina.startup.Bootstrap --StopParams=stop 

我需要确定的是指定以下内容,因为我需要告诉Tomcat使用特定的Java主目录,而不是由将安装此目录的服务器上的环境variablesJAVA_HOME设置的Java主目录。

 --JavaHome="C:\Program Files\Java\jdk1.7.0_51 

原因是:服务器已经有了不同版本的Tomcat(5.5),并且使用了旧版本的JDK(1.5)。 我不能改变服务器上的JAVA_HOME。 我只需要确保Tomcat 7使用JDK 1.7,我试过这一行:

 C:\tomcat7\bin>tomcat7 //IS//Tomcat7 --DisplayName="Apache Tomcat 7" --Install="C:\Tomcat7\bin\tomcat7.exe" --JavaHome="C:\Program Files\Java\jdk1.7.0_51" 

当我尝试启动该服务时,显示以下错误消息:

 Windows could not start the Apache Tomcat 7 on Local Computer. For more information, review the System Event Log. If this is a non-Microsoft service, contact the service vendor, and refer to service-specific error code 1. 

我看了一下系统事件查看器,它提供了以下信息:

 The Apache Tomcat 7 service terminated with service-specific error Incorrect function.. 

我需要找出这些步骤,因为我需要向支持团队提供在生产服务器上安装此服务的信息。 所以任何帮助将不胜感激!

从Powershell使用巧克力命令行:

首先安装巧克力

 PS:\> iex ((new-object net.webclient).DownloadString('https://chocolatey.org/install.ps1')) 

安装Tomcat

 PS:\> choco install tomcat 

升级

 PS:\> choco upgrade tomcat 

看起来像在您的Java JVM和Tomcat版本不匹配。

tomcat7.exe包装程序实际上是“运行”JVM的,它必须匹配它所运行的JVM的类型,以32位/ 64位版本为准。 如果您尝试使用32位tomcat7.exe启动64位JVM,则该操作将不起作用,反之亦然。

参考

这是因为物理RAM的短缺。

检查Tomcat文档的最低系统要求,并尝试关闭不必要的程序。

从Powershell使用巧克力命令行:

 PS> iex ((new-object net.webclient).DownloadString('https://chocolatey.org/install.ps1')) 

要安装Tomcat:

 PS> choco install tomcat 

升级:

 PS> choco upgrade tomcat