Skip to content

unable to run eXist when path contains a whitespace #3101

@mathias-goebel

Description

@mathias-goebel

What is the problem

When eXist is extracted to a directory where the path contains a whitespace startup.sh and launcher.sh break.

Describe how to reproduce or add a test

# cd /tmp
wget --output-document=exist-distribution-5.0.0-unix.tar.bz2 https://bintray.com/existdb/releases/download_file\?file_path\=exist-distribution-5.0.0-unix.tar.bz2
tar --extract --bzip2 --file exist-distribution-5.0.0-unix.tar.bz2
mv exist-distribution-5.0.0/ exist\ distribution-5.0.0
./exist\ distribution-5.0.0/bin/startup.sh 
/exist-db/exist distribution-5.0.0/bin > ./startup.sh
12 Nov 2019 08:45:12,579 [main] INFO  (JettyStart.java [run]:173) - Running with Java 1.8.0_232 [Oracle Corporation (OpenJDK 64-Bit Server VM) in /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.232.b09-0.fc31.x86_64/jre] 
12 Nov 2019 08:45:12,580 [main] INFO  (JettyStart.java [run]:180) - Running as user 'mathias' 
12 Nov 2019 08:45:12,581 [main] INFO  (JettyStart.java [run]:181) - [eXist Home : /home/mathias/development/exist-db/exist distribution-5.0.0] 
12 Nov 2019 08:45:12,586 [main] INFO  (JettyStart.java [run]:182) - [eXist Version : 5.0.0] 
12 Nov 2019 08:45:12,587 [main] INFO  (JettyStart.java [run]:183) - [eXist Build : 20190902160649] 
12 Nov 2019 08:45:12,587 [main] INFO  (JettyStart.java [run]:184) - [Git commit : 5a27d10ba1710c1df751344b53ac6e4cb4778e3b] 
12 Nov 2019 08:45:12,588 [main] INFO  (JettyStart.java [run]:186) - [Operating System : Linux 5.3.8-300.fc31.x86_64 amd64] 
12 Nov 2019 08:45:12,589 [main] INFO  (JettyStart.java [run]:187) - [log4j.configurationFile : /home/mathias/development/exist-db/exist distribution-5.0.0/etc/log4j2.xml] 
12 Nov 2019 08:45:12,716 [main] INFO  (JettyStart.java [run]:188) - [jetty Version: 9.4.20.v20190813] 
12 Nov 2019 08:45:12,716 [main] INFO  (JettyStart.java [run]:189) - [jetty.home : /home/mathias/development/exist-db/exist distribution-5.0.0] 
12 Nov 2019 08:45:12,717 [main] INFO  (JettyStart.java [run]:190) - [jetty.base : /home/mathias/development/exist-db/exist distribution-5.0.0] 
12 Nov 2019 08:45:12,718 [main] INFO  (JettyStart.java [run]:191) - [jetty configuration : /home/mathias/development/exist-db/exist distribution-5.0.0/etc/jetty/standard.enabled-jetty-configs] 
12 Nov 2019 08:45:12,757 [main] ERROR (JettyStart.java [run]:213) - configuration error: Unable to read configuration file at /home/mathias/development/exist-db/exist distribution-5.0.0/etc/"/home/mathias/development/exist-db/exist distribution-5.0.0"/etc/conf.xml 
org.exist.util.DatabaseConfigurationException: Unable to read configuration file at /home/mathias/development/exist-db/exist distribution-5.0.0/etc/"/home/mathias/development/exist-db/exist distribution-5.0.0"/etc/conf.xml
	at org.exist.util.Configuration.<init>(Configuration.java:176) ~[exist-core-5.0.0.jar:5.0.0]
	at org.exist.util.SingleInstanceConfiguration.<init>(SingleInstanceConfiguration.java:56) ~[exist-core-5.0.0.jar:5.0.0]
	at org.exist.util.SingleInstanceConfiguration.<init>(SingleInstanceConfiguration.java:52) ~[exist-core-5.0.0.jar:5.0.0]
	at org.exist.jetty.JettyStart.run(JettyStart.java:196) [exist-core-5.0.0.jar:5.0.0]
	at org.exist.jetty.JettyStart.main(JettyStart.java:95) [exist-core-5.0.0.jar:5.0.0]
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_232]
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_232]
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_232]
	at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_232]
	at org.exist.start.Main.invokeMain(Main.java:118) [exist-start-5.0.0.jar:5.0.0]
	at org.exist.start.Main.runEx(Main.java:248) [exist-start-5.0.0.jar:5.0.0]
	at org.exist.start.Main.run(Main.java:123) [exist-start-5.0.0.jar:5.0.0]
	at org.exist.start.Main.main(Main.java:60) [exist-start-5.0.0.jar:5.0.0]
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_232]
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_232]
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_232]
	at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_232]
	at org.codehaus.mojo.appassembler.booter.AppassemblerBooter.executeMain(AppassemblerBooter.java:257) [appassembler-booter-2.1.0.jar:?]
	at org.codehaus.mojo.appassembler.booter.AppassemblerBooter.main(AppassemblerBooter.java:77) [appassembler-booter-2.1.0.jar:?]
org.exist.util.DatabaseConfigurationException: Unable to read configuration file at /home/mathias/development/exist-db/exist distribution-5.0.0/etc/"/home/mathias/development/exist-db/exist distribution-5.0.0"/etc/conf.xml
	at org.exist.util.Configuration.<init>(Configuration.java:176)
	at org.exist.util.SingleInstanceConfiguration.<init>(SingleInstanceConfiguration.java:56)
	at org.exist.util.SingleInstanceConfiguration.<init>(SingleInstanceConfiguration.java:52)
	at org.exist.jetty.JettyStart.run(JettyStart.java:196)
	at org.exist.jetty.JettyStart.main(JettyStart.java:95)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at org.exist.start.Main.invokeMain(Main.java:118)
	at org.exist.start.Main.runEx(Main.java:248)
	at org.exist.start.Main.run(Main.java:123)
	at org.exist.start.Main.main(Main.java:60)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at org.codehaus.mojo.appassembler.booter.AppassemblerBooter.executeMain(AppassemblerBooter.java:257)
	at org.codehaus.mojo.appassembler.booter.AppassemblerBooter.main(AppassemblerBooter.java:77)

Context information

Please always add the following information

  • eXist-db 5.0.0 (release)
  • openjdk version "1.8.0_232"
  • Linux Fedora 31
  • 64 bit

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions