aplicación de script de shell de automator no funciona en 10.13

1

He creado una aplicación de automator para ejecutar jmeter. Desde la 10.13, esta aplicación ya no funciona.

Mi script de shell (pongo el directorio jmeter en el contenido de la aplicación):

RADIR='ps x | grep jmeter | grep -v grep | cut -c 28- '
COMMAND="$(dirname "$RADIR")/jmeter/bin/jmeter > /dev/null 2>&1 &"
eval $COMMAND

He comprobado que el comando es correcto. Pero no funciona ejecutando la aplicación. Y funcionó bien antes de 10.12

Recibí algunos mensajes en el registro de la Consola, el motivo parece ser una excepción de seguridad. no estoy seguro

¿Se han cambiado algunos mecanismos de seguridad? ¿Cómo se puede arreglar?

Gracias

    
pregunta Gino 06.06.2018 - 05:50

1 respuesta

2

Sobre mi análisis anterior, estaba totalmente equivocado.

Ignoro una cosa importante, la versión de Java, no la versión mac os x. Acabo de instalar jdk 10 adicionalmente y también tengo jdk 8 en mi sistema. Por supuesto, puse la variable de entorno JAVA_HOME para jdk 8 en archivos .bash_profile y .bashrc, verifiqué la versión java en Terminal, es java 8, todo está bien.

Pero en el proceso de ejecución de automator, la versión de Java es 10

Cambiar script de shell para obtener un mensaje de error

RADIR='ps x | grep jmeter | grep -v grep | cut -c 28- '
java -version > ~/log.jmeter 2>&1 &
COMMAND="$(dirname "$RADIR")/jmeter/bin/jmeter >> ~/log.jmeter 2>&1 &"
eval $COMMAND

log.jmeter:

  

versión de java "10.0.1" 2018-04-17

     

Java (TM) SE Runtime Environment 18.3   (compilación 10.0.1 + 10)

     

Java HotSpot (TM) 64-Bit Server VM 18.3 (compilación   10.0.1 + 10, modo mixto)

     

Error: la versión de Java es demasiado baja para ejecutar JMeter. Necesita al menos Java > = 1.8.0.

Que !!!! Ese es el problema ~~~

Cambie el script de shell para solucionarlo:

export JAVA_HOME="$(/usr/libexec/java_home -v 1.8)"
export PATH=$PATH:$JAVA_HOME/bin
RADIR='ps x | grep jmeter | grep -v grep | cut -c 28- '
COMMAND="$(dirname "$RADIR")/jmeter/bin/jmeter > /dev/null 2>&1 &"
eval $COMMAND

Funciona bien.

Por lo tanto, hay dos problemas en este problema:

  1. Jmeter no es compatible con jdk 10 (espera la actualización oficial)
  2. ¿Cómo configurar correctamente la variable de entorno doméstico de java para automator?
respondido por el Gino 07.06.2018 - 08:49

Lea otras preguntas en las etiquetas