#!/bin/bash
# Start-up script for JEB (macOS)
# Prefer local JRE
JAVA=bin/runtime/bin/java
if [ ! -f "$JAVA" ]; then
# Prefer a JDK over a JRE
if [ -z "$JAVA_HOME" ]; then
JAVA=`which java`
else
JAVA=$JAVA_HOME/bin/java
fi
# Note: If the Java path generation does not yield a correct result, manually set
# the JAVA variable (defined above) to a correct value
if [ ! -f "$JAVA" ]; then
echo "JEB requires a Java JRE or JDK version 8 or above."
echo "It is also recommended to set JAVA_HOME and JRE_HOME environment variables to point to your JDK"
exit -1
fi
fi
cd "`dirname "$0"`"
BASEDIR=`pwd -P`
cd - >/dev/null
JVMOPT=
if [ -f "$BASEDIR/jvmopt.txt" ]; then
JVMOPT=$(<"$BASEDIR/jvmopt.txt")
fi
# Manual override for JVM options: uncomment the following line and adjust if necessary
# JVMOPT="-Xss4M -Xmx8G"
INSTALLER=$BASEDIR/bin/app/jebi.jar
"$JAVA" -jar "$INSTALLER" --di --up --timeout=0 -- "$@"
RETCODE=$?
if [ $RETCODE -lt 0 ]; then
exit $RETCODE
fi
if [ "$1" == "-c" ]; then
shift
"$JAVA" $JVMOPT -Xmx10240m -jar "$BASEDIR/bin/app/jeb.jar" "$@"
exit 0
fi
if [ "$1" == "-j" ]; then
shift
else
JEB=$BASEDIR/bin/jeb.app/Contents/MacOS/jeb
if [ -f "$JEB" ]; then
chmod +x "$JEB"
# DISABLING NATIVE LAUNCHER ON MACOS (April 2, 2019)
# the native launcher creates problems when spawning processes and attempting to read their output
# this can lead to difficulties in using Debugger modules, for instance
# (if things work fine on your system, you may choose to uncomment the lines below)
#echo "Starting JEB Desktop Client... (logging to bin/jeb.log)"
#echo "(If it does not start on your system, use the '-j' flag: ./jeb_macos.sh -j)"
#nohup "$JEB" --cd="$PWD" "$@" </dev/null &>$BASEDIR/bin/jeb.log &
#exit 0
fi
fi
"$JAVA" $JVMOPT -XstartOnFirstThread -Dorg.eclipse.swt.internal.carbon.smallFonts -Xmx10240m -jar "$BASEDIR/bin/app/jebc.jar" "$@"
$JAVA -Xmx4096m -XX:-UseParallelGC -XX:MinHeapFreeRatio=15 -jar $SCRIPTDIR/bin/cl/jeb.jar -c "$@"
exit 0
原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/tech/java/282845.html