无法将Artifactory安装为Windows服务

时间:2019-05-22 07:22:21

标签: java artifactory

我有Artifactory artifactory-oss-6.10.1,我尝试将其安装为Windows服务。

我遇到的第一个问题是installService.bat包含行

:gotJdkHome
if not exist "%JAVA_HOME%\jre\bin\java.exe" goto noJavaHome
if not exist "%JAVA_HOME%\jre\bin\javaw.exe" goto noJavaHome

我已经安装了JDK 12并将其设置为JAVA_HOME,但是我的JDK安装没有jre文件夹。我从oracle重新下载了jdk 12,但是安装没有提供jre文件夹

删除文件的jre路径后,由于缺少tomcat(?),安装失败(它只是说找不到路径)。

所以我需要另外安装tomcat吗?因为,当我仅启动artifactory.bat时,Artifactory就会启动。

那么我该如何将Artifactory作为Windows服务安装?

1 个答案:

答案 0 :(得分:1)

我也为此苦苦挣扎,并设法找到一种解决方案来安装该服务。

打开您的InstallService.bat文件。找到:gotJdkHome部分。从以下路径中删除\ jre:

yAxis: {
    tickPositioner: function() {
        var defaultTicks = this.tickPositions,
            isMorePositive = Math.abs(defaultTicks[0]) <
                defaultTicks[defaultTicks.length - 1],
            tickPositions = [];

        defaultTicks.forEach(function(el) {
            if (isMorePositive ? (el > 0) : (el < 0)) {
                tickPositions.push(el);
                tickPositions.push(-el);
            } else if (el === 0) {
                tickPositions.push(el);
            }
        });

        return tickPositions.sort(function(a, b) {
            return a - b
        });
    }
}

然后,您将能够运行InstallService.bat,并且将安装该服务。

但是,由于Java 10不支持JVM参数“ java.endorsed.dirs”,因此您将无法启动该服务。

您必须将其从文件底部的以下行中删除:

:gotJdkHome
if not exist "%JAVA_HOME%\bin\java.exe" goto noJavaHome
if not exist "%JAVA_HOME%\bin\javaw.exe" goto noJavaHome
if not exist "%JAVA_HOME%\bin\javac.exe" goto noJavaHome
if not "%JRE_HOME%" == "" goto okJavaHome
set "JRE_HOME=%JAVA_HOME%"

为了获得

"%EXECUTABLE%" //US//%SERVICE_NAME% --JvmOptions "-Dcatalina.base=%CATALINA_BASE%;-Dcatalina.home=%CATALINA_HOME%;-Djava.endorsed.dirs=%CATALINA_HOME%\endorsed" --StartMode jvm --StopMode jvm

现在,您的服务将可以启动。