0
Java로 작성된 Ubuntu Linux에서 실행될 서비스를 만들려고합니다. 내 실행 가능한 Jar 파일은 내부에 패키지 된 모든 종속성을 가진 큰 뚱뚱한 Jar 파일이다. JSVC를 사용하여 실행하려고하면 다음 오류가 발생합니다.JSVC가 네이티브 메소드를 등록 할 수 없음
나를 괴롭히는 것은 "기본 메소드를 등록 할 수 없습니다"라인입니다. 이것이 의미하는 바는 무엇이며 어떻게 수정합니까?
Eclipse IDE를 사용하여 Java로 응용 프로그램을 작성하고 있는데 apt-get (1.0.10-3)을 사용하여 JSVC의 최신 버전을 설치했습니다. 내 commons.daemon 라이브러리 버전은 1.0.1입니다. 내 시작 스크립트는 아래와 같습니다.
#!/bin/sh
# Setup variables
EXEC=jsvc
JAVA_HOME=/usr/lib/jvm/java-1.6.0-openjdk-amd64
CLASS_PATH="/usr/hadoop-1.1.1/lib/commons-daemon-1.0.1.jar":"/usr/devel/Hadoop_LCS/"
CLASS=com.foo.hadoop.lcs.Program
USER=hduser
PID=/tmp/lcs_process.pid
LOG_OUT=/tmp/lcs_log.out
LOG_ERR=/tmp/lcs_log.err
do_exec()
{
$EXEC -home "$JAVA_HOME" -cp $CLASS_PATH -user $USER -debug -outfile $LOG_OUT -errfile $LOG_ERR -pidfile $PID $1 $CLASS
}
case "$1" in
start)
do_exec
;;
stop)
do_exec "-stop"
;;
restart)
if [ -f "$PID" ]; then
do_exec "-stop"
do_exec
else
echo "Service not running, will do nothing"
exit 1
fi
;;
*)
echo "usage: daemon {start|stop|restart}" >&2
exit 3
;;
esac