MacOS – Can’t launch an app after creation by Platypus. Error: …app/Contents/Resources/script: is a directory

installjavamacosscript

In my project I have a number of jar-files, resources, h2 database, etc. I launch my application by executing a shell-script with configuration params.

I would like to create Mac app by using Platypus. However after creation I can't launch it. Could anyone help me?

I set script path and add all my resources like this:

enter image description here

After I create an app (Optimize Application) and try to launch it I receive the following error:

/Users/Mac/SPI/Reader Plat/Start Irule
Client.app/Contents/Resources/script: /Users/Mac/SPI/Reader Plat/Start
Irule Client.app/Contents/Resources/script: is a directory

My shell-script is the following:

#!/bin/bash

export IRULE_HOME="$(cd "$(dirname "$0")" && pwd -P)"

export IRULE_LANG=en
export IRULE_REGION=EN
export IRULE_XMS=-Xms256m
export IRULE_XMX=-Xmx1024m
export LOG4J_CONFIGURATION=${IRULE_HOME}/conf/log4j2.xml
export JAVA_HOME="${IRULE_HOME}/jre/Contents/Home"

export DEFAULT_JVM_OPTS="$IRULE_XMS \
              $IRULE_XMX \
              -Dlog4j.configuration=file:"${LOG4J_CONFIGURATION}" \
              -Dirule.home=${IRULE_HOME} \
              -Dirule.client.logs.path=${IRULE_HOME}/logs \
              -Duser.language="${IRULE_LANG}" \
              -Duser.region="${IRULE_REGION}" \
              $JAVA_OPTS"


export PATH=${JAVA_HOME}/bin:${JAVA_HOME}:${PATH}
export CLASSPATH=${IRULE_HOME}/lib/*:${IRULE_HOME}/conf:${JAVA_HOME}/lib/jfxrt.jar;

echo "IRULE_HOME="${IRULE_HOME}
echo "IRULE_XMS="${IRULE_XMS}
echo "IRULE_XMX="${IRULE_XMX}

${JAVA_HOME}/bin/java -version
exec ${JAVA_HOME}/bin/java -Xdock:name="iRule Reader" -Xdock:icon=${IRULE_HOME}/image/irule.png ${DEFAULT_JVM_OPTS} -classpath "${CLASSPATH}" com.spi2.Main $* 

How to solve the issue and successfully launch the app?

Best Answer

The issue was with the name of the directories and app that are separated by spaces.

Reader Plat/Start Irule Client

For some reasons removing spaces solve the issue.