1 votos

Al lanzar una aplicación de Java como aplicación de Mac, el nombre del proceso de Java predeterminado y la descripción "Acerca de" en lugar de la mía.

Tengo una serie de archivos jar, algunos recursos, una base de datos h2, etc. en mi proyecto. Para crear una aplicación de Mac utilicé Platypus. Para ejecutar mi aplicación se utilizó un script de shell.

Sin embargo, en este caso cuando la aplicación se inicia, se inicia un proceso java separado y allí no hay ni el nombre adecuado de la aplicación ni una descripción adecuada en Acerca de en el menú de Mac. Además, se inicia Terminal, lo cual no se desea.

¿Cómo debo lanzar la aplicación para evitar estas desventajas para que el nombre de la aplicación y la descripción de Acerca de sean las correctas?

Lo que veo ahora (nombre y Acerca de):

enter image description here

enter image description here

Mi script de shell de lanzamiento es el siguiente:

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

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

Cómo creé la aplicación con Platypus. El proceso es simple: configuré mi script de shell y agregué todos mis recursos. También puedo configurar el icono. Y añadí Credits.html para permitir la descripción de Acerca de como se indica en la documentación:

enter image description here

2voto

yoliho Puntos 340

Si usas un script de shell, debes ejecutarlo desde un shell y, por lo tanto, para obtener un shell, macOS abre Terminal. Tampoco estás ejecutando una aplicación, por lo que no obtienes la configuración correcta para iconos, menús, etc.

Para ser visto como una aplicación, el ejecutable debe empaquetarse según la documentación de Bundle de Apple.

Este Platypus parece indicar que debería hacer esto. Por lo tanto, en este caso, necesitas leer su documentación y ver qué es lo que no has hecho. Si este es el problema, entonces sería necesario plantear una pregunta en StackOverflow, pero deberías mostrar cómo configuraste tu aplicación.

0 votos

Gracias por tu consejo. He leído este artículo pero me resulta difícil entender cómo transformar el proceso de lanzamiento de un script de shell a un paquete de Apple.

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X