首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >JSVC无法注册本机方法

JSVC无法注册本机方法
EN

Stack Overflow用户
提问于 2013-06-12 01:55:21
回答 1查看 1.2K关注 0票数 0

我正在尝试创建一个可以在用Java编写的Ubuntu Linux中运行的服务。我的可执行Jar文件是一个很大的fat Jar文件,里面打包了所有的依赖项。当我尝试使用JSVC运行它时,我得到了以下错误。

代码语言:javascript
复制
Java VM created successfully
Class org/apache/commons/daemon/support/DaemonLoader found
Cannot register native methods
java_init failed
Service exit with a return value of 1

让我抓狂的是“无法注册本机方法”这句话。这意味着什么?我该如何修复它?

我使用Eclipse IDE用Java编写我的应用程序,我使用apt-get (1.0.10-3)安装了最新版本的JSVC。我的commons.daemon库版本是1.0.1。我的启动脚本如下。

代码语言:javascript
复制
#!/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
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-06-12 03:49:15

这样啊,原来是这么回事。我刚刚升级了我的Apache commons.daemon库版本,这就成功了。我得到了1.0.15。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17050603

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档