2

私は maven scala プラグインで使用される亜鉛インクリメンタル コンパイラの大ファンですが、ラップトップをバウンスするたびに手動で起動しなければならないのが面倒でした。Ubuntu でサービスとして実行するスクリプトを作成しました。問題なく起動しますが、mvn install を実行すると、プログラム javac が見つからないというエラーが表示されます。以下は /etc/init.d の私のスクリプトです - 注: $JAVA_HOME を指定し、このスクリプトで明示的にソースされている /etc/bash.bashrc のパスに追加します。

#!/bin/bash

### BEGIN INIT INFO
# Provides:          zinc
# Required-Start:    $remote_fs $network
# Required-Stop:     $remote_fs $syslog
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: Start compiler at boot time
# Description:       Starts and stops the zinc incremental compiler
### END INIT INFO

source /etc/bash.bashrc
PROG_PATH="/opt/zinc/bin"
PROG="zinc" 

start() {
    su - gary "-c $PROG_PATH/$PROG -start 2>&1 >/dev/null &"
    echo "$PROG started"
}

stop() {
    su - gary "-c $PROG_PATH/$PROG -shutdown 2>&1 >/dev/null &"   
    echo "$PROG stopped"
}

## Check to see if we are running as root first.
if [ "$(id -u)" != "0" ]; then
    echo "This script must be run as root" 1>&2
    exit 1
fi

case "$1" in
    start)
        start
        exit 0
    ;;
    stop)
        stop
        exit 0
    ;;
    reload|restart|force-reload)
        stop
        start
        exit 0
    ;;
    **)
        echo "Usage: $0 {start|stop|reload}" 1>&2
        exit 1
    ;;
esac
4

1 に答える 1

1

Zincには-java-homeコマンドパラメータが付属しています。あなたはそれを試しましたか?

于 2012-12-04T07:34:09.670 に答える