Error: Could not find or load main class Files\Zulu\zulu-8.jre.lib.endorsed;C:\Program when starting OH2 as a Windows service

Hi everyone,

Tried a new installation and starting OH2 as a service on Windows. Unzipped openhab-2.4.0 to c:\controller, started via start_debug.bat, opened browser to localhost:8080 and selected standard installation, then followed the Windows service wrapper installation guide, but I get System error 1067 has occurred.

openhab> feature:install service-wrapper
openhab> wrapper:install --name "openHAB2" --display "Controller" --description "Controller Service"
Creating missing directory: C:\controller\userdata\bin
Creating file: C:\controller\userdata\bin\openHAB2-wrapper.exe
Creating file: C:\controller\userdata\etc\openHAB2-wrapper.conf
Creating file: C:\controller\userdata\bin\openHAB2-service.bat
Creating missing directory: C:\controller\userdata\lib\wrapper
Creating file: C:\controller\userdata\lib\wrapper\wrapper.dll
Creating file: C:\controller\userdata\lib\wrapper\karaf-wrapper.jar
Creating file: C:\controller\userdata\lib\wrapper\karaf-wrapper-main.jar

Setup complete.  You may wish to tweak the JVM properties in the wrapper configuration file:
        C:\controller\userdata\etc\openHAB2-wrapper.conf
before installing and starting the service.


MS Windows system detected:
To install the service, run:
  C:> C:\controller\userdata\bin\openHAB2-service.bat install

Once installed, to start the service run:
  C:> net start "openHAB2"

Once running, to stop the service run:
  C:> net stop "openHAB2"

Once stopped, to remove the installed the service run:
  C:> C:\controller\userdata\bin\openHAB2-service.bat remove

openhab> logout
PS C:\controller> cd userdata\bin
PS C:\controller\userdata\bin> .\openHAB2-service.bat install
wrapper  | Controller installed.
C:\controller\userdata\bin> net start "openHAB2"
The Controller service is starting.................
The Controller service could not be started.

A system error has occurred.

System error 1067 has occurred.

The process terminated unexpectedly.

wrapper.log shows

INFO   | jvm 5    | 2019/03/19 09:27:15 | Error: Could not find or load main class Files\Zulu\zulu-8.jre.lib.endorsed;C:\Program
ERROR  | wrapper  | 2019/03/19 09:27:15 | JVM exited while loading the application.
FATAL  | wrapper  | 2019/03/19 09:27:15 | There were 5 failed launches in a row, each lasting less than 300 seconds.  Giving up.
FATAL  | wrapper  | 2019/03/19 09:27:15 |   There may be a configuration problem: please check the logs.
STATUS | wrapper  | 2019/03/19 09:27:15 | <-- Wrapper Stopped

JAVA_HOME is set:

PS C:\controller\userdata\bin> $env:JAVA_HOME
C:\Program Files\Zulu\zulu-8

OH starts and works fine with start.bat from the CLI.

I have attached openHAB2-wrapper.conf.txt (5.7 KB)

Its the Error: Could not find or load main class Files\Zulu\zulu-8.jre.lib.endorsed;C:\Program in the wrapper.log that has me intrigued. Please let me know what info and can provide to troubleshoot.

@amosk

What happens when you do the following:

open command-box (not the Powershell !!): (run --> cmd --> [ENTER])

echo %JAVA_HOME% [ENTER]
C:\Program Files\Zulu\zulu-8

Check also “Systemvariable”:

image
.
.

And YOUR openHAB2-wrapper.conf MUST be:

.

#*******************************************************
# openHAB2-wrapper.conf for Windows Service Installation
#*******************************************************

# openHAB installation dir (Adapt this first setting to your system)
set.default.OPENHAB_HOME=C:\controller

# Wrapper Properties
set.default.OPENHAB_CONF=%OPENHAB_HOME%\conf
set.default.OPENHAB_RUNTIME=%OPENHAB_HOME%\runtime
set.default.OPENHAB_USERDATA=%OPENHAB_HOME%\userdata
set.default.OPENHAB_LOGDIR=%OPENHAB_USERDATA%\logs
set.default.KARAF_HOME=%OPENHAB_RUNTIME%
set.default.KARAF_BASE=%OPENHAB_USERDATA%
set.default.KARAF_DATA=%OPENHAB_USERDATA%
set.default.KARAF_ETC=%OPENHAB_USERDATA%\etc
set.default.PATH=%PATH%;%KARAF_BASE%\lib;%KARAF_HOME%\lib

# Java Application
wrapper.working.dir=%KARAF_BASE%
wrapper.java.command=%JAVA_HOME%\bin\java
wrapper.java.mainclass=org.apache.karaf.wrapper.internal.service.Main
wrapper.java.classpath.1=%KARAF_HOME%\lib\boot\*.jar
wrapper.java.classpath.2=%KARAF_DATA%\lib\wrapper\*.jar
wrapper.java.library.path.1=%KARAF_DATA%\lib\wrapper\

# Java Parameters
wrapper.java.additional.1=-Dkaraf.home="%KARAF_HOME%"
wrapper.java.additional.2=-Dkaraf.base="%KARAF_BASE%"
wrapper.java.additional.3=-Dkaraf.data="%KARAF_DATA%"
wrapper.java.additional.4=-Dkaraf.etc="%KARAF_ETC%"
wrapper.java.additional.5=-Dcom.sun.management.jmxremote
wrapper.java.additional.6=-Dkaraf.startLocalConsole=false
wrapper.java.additional.7=-Dkaraf.startRemoteShell=true
wrapper.java.additional.8=-Djava.endorsed.dirs="%JAVA_HOME%\jre\lib\endorsed;%JAVA_HOME%\lib\endorsed;%KARAF_HOME%\lib\endorsed"
wrapper.java.additional.9=-Djava.ext.dirs="%JAVA_HOME%\jre\lib\ext;%JAVA_HOME%\lib\ext;%KARAF_HOME%\lib\ext"
wrapper.java.additional.10=-Dopenhab.home="%OPENHAB_HOME%"
wrapper.java.additional.11=-Dopenhab.conf="%OPENHAB_HOME%\conf"
wrapper.java.additional.12=-Dopenhab.runtime="%OPENHAB_HOME%\runtime"
wrapper.java.additional.13=-Dopenhab.userdata="%OPENHAB_HOME%\userdata"
wrapper.java.additional.14=-Dopenhab.logdir="%OPENHAB_USERDATA%\logs"
wrapper.java.additional.15=-Dfelix.cm.dir="%OPENHAB_HOME%\userdata\config"
wrapper.java.additional.16=-Dorg.osgi.service.http.port=8080
wrapper.java.additional.17=-Dorg.osgi.service.http.port.secure=8443
wrapper.java.additional.18=-Djava.util.logging.config.file="%KARAF_ETC%\java.util.logging.properties"
wrapper.java.additional.19=-Dkaraf.logs="%OPENHAB_LOGDIR%"
wrapper.java.maxmemory=512

# Wrapper Logging Properties
wrapper.console.format=PM
wrapper.console.loglevel=INFO
wrapper.logfile=%OPENHAB_USERDATA%\logs\wrapper.log
wrapper.logfile.format=LPTM
wrapper.logfile.loglevel=INFO
wrapper.logfile.maxsize=10m
wrapper.logfile.maxfiles=5
wrapper.syslog.loglevel=NONE

# Wrapper Windows Properties
wrapper.console.title=openHAB2
wrapper.ntservice.name=openHAB2
wrapper.ntservice.displayname=openHAB2
wrapper.ntservice.description=openHAB 2 Service
wrapper.ntservice.dependency.1=
wrapper.ntservice.starttype=AUTO_START
wrapper.ntservice.interactive=false

.
.
.
See also here:

@Celaeno1, thanks for your reply!

cmd prompt looks good:

C:\Users\zoomroom>echo %JAVA_HOME%
C:\Program Files\Zulu\zulu-8

System variable looks good:

I copied and pasted your version of the openHAB2-wrapper.conf and it worked! Thank you. Yours looks significantly different that the auto-generated version, for example there is no mention of OPENHAB_HOME=C:\controller.

Wonder if this is issue worthy?

1 Like

Hey - if you want to try something experimental… I put together an actual windows installer that includes an openhab service that you don’t need to setup (it starts openhab using the same karaf.bat as the command line and doesn’t require special config setups). As a bonus, you can also setup update/backup schedules as well (and includes a full uninstaller)

Fully experimental but feel free to give it a try …

You can find the download here: https://github.com/tmrobert8/openhab-windows-utils/releases

and the discussions …

2 Likes

@amosk

No, you just overlooked the instructions in documentation above!

Step No. 4

1 Like

@Celaeno1 :exploding_head: I assumed the wrapper installer had the most up to date .conf file, so yes, I skipped that part. Thanks for the nudge.

@tmrobert8, thanks, I’ll have to try that on a test system.

1 Like