Open spacemanspiff2007 opened 1 year ago
I recently read the documentation about installation of openHAB for Windows and it is mentioned to not have space inside the path. Now, if it could be fixed, why not ;)
I think it's somewhere in the bash/cmd files the path is not properly quoted which leads to the issue. For completeness here is the link to the docs but I think this info should be on the download page. because it's very unexpected to not allow spaces.
@spacemanspiff2007 I could not reproduce your issue for start.bat
, but for start_debug.bat
.
Replacing "%DIRNAME%start.bat" debug %*
by call "%DIRNAME%start.bat" debug %*
solves the issue for me.
Can you confirm?
Where have you put the space? For me it's in the last folder before the start.bat (e.g. c:\Progs\OpenHAB\4.0 Snapshot_1
).
I'll double check if call
will change anything and report back.
This is strange. I cannot reproduce anymore. I tried the 3.4.4 release, 4.0M2, and current snapshot. Typically, I extracted to directly to "c:\oh 4" or similar, but also tried to extract directly in the download folder. Both start.bat and start_debug.bat now work for me, even without the proposed "fix" above. I tried to start from explorer window, and from cmd.exe prompt. Windows 11 Home, 22H2.
How did you start the batch files?
I tried it with a double click in the containing folder, from a cmd shell inside the containing folder and through a python script that creates a new process which has the working dir set accordingly.
I looked at setenv.bat because it does not quote the file paths when setting them as JAVA_OPTS. However when I quote them I get another error in karaf.bat which I can't resolve:
"Snapshot_1" -Dopenhab.conf="C:\Progs\openHAB\Installations\4.0" kann syntaktisch an dieser Stelle nicht verarbeitet werden.
So I am not sure if this is the right approach at all.
The really strange thing is that I cannot reproduce - even on an older win10 version - neither with Java11 nor Java17. It just works out of the box. Which Java distribution are you using and is it installed to the default install location?
What I have read about escaping, using setlocal enabledelayedexpansion
without any further modification could be an approach; or alternatively quoting the set calls like set "DIR=strange directory name"
and quoting every use of "%DIR%"
.
I cannot help unless I manage to reproduce the problem.
I am using Corretto and the JAVA_HOME
is set accordingly:
openjdk version "17.0.6" 2023-01-17 LTS
OpenJDK Runtime Environment Corretto-17.0.6.10.1 (build 17.0.6+10-LTS)
OpenJDK 64-Bit Server VM Corretto-17.0.6.10.1 (build 17.0.6+10-LTS, mixed mode, sharing)
So you think this is a java issue and not a variable expansion issue?
I cannot help unless I manage to reproduce the problem.
Of course 🥲
What I have read about escaping, using
setlocal enabledelayedexpansion
without any further modification could be an approach;
That didn't work
quoting the set calls like
set "DIR=strange directory name"
and quoting every use of"%DIR%"
.
I tried that (see post above) but then I get a different error and I don't know the commands the fix the next issue.
To reproduce (on windows): Download new windows snapshot of openHAB. Extract into folder with whitespace (here
4.0 Snapshot_1
) Navigate into folder and doubleclickstart.bat
. Observe a crash of openHAB crashes with the following error message:Replace whitespace through underscore (here
4.0_Snapshot_1
) and observe successful start.