Quando si avvia l'app java come app Mac, il nome del processo java predefinito e About description invece del mio

0

Ho un numero di file jar, alcune risorse, database h2, ecc. nel mio progetto. Per creare applicazione Mac ho usato Platypus. Per eseguire la mia applicazione è stato utilizzato lo script di shell .

Tuttavia, in questo caso, all'avvio dell'applicazione, inizia separate java process e non c'è né il nome corretto dell'app né la descrizione Abou corretta nel menu Mac. Anche il terminale parte non desiderato.

Come dovrei avviare l'app per evitare questo inconveniente, in modo che il nome dell'app e About description fossero quelli giusti?

Quello che vedo ora (nome e informazioni):

Ilmioshellscriptdiavvioèilseguente:

#!/bin/bashexportIRULE_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;

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

Come ho creato l'app da Platypus. Il processo è semplice: imposto il mio script di shell e aggiungo tutte le mie risorse. Inoltre posso impostare l'icona. E aggiungo Credits.html per consentire la descrizione di About come indicato nella documentazione:

    
posta Kirill Ch 24.08.2017 - 09:50
fonte

1 risposta

1

Se si utilizza uno script di shell, è necessario eseguirlo da una shell e quindi per ghet una shell macOS apre Terminal. Inoltre, non stai eseguendo un'app, quindi non ottieni la configurazione corretta per icone, menu ecc.

Per essere visto come un'app l'eseguibile deve essere pacchettizzato come per Documentazione bundle

Questo Platypus sembra dire che dovrebbe farlo. Quindi in questo caso devi leggere la sua documentazione e vedere cosa non hai fatto. Se questo è il problema, questa dovrebbe essere una domanda su StackOverflow ma dovresti mostrare come imposti la tua app.

    
risposta data 24.08.2017 - 11:55
fonte

Leggi altre domande sui tag