记一次Ubuntu18装Gitblit 出现A JNI error has occurred问题

记一次Ubuntu18装Gitblit 出现A JNI error has occurred问题

原因

原因:装的时候参考了很多教程,但是用java -jar gitblit.jar命令根本不行,出现以下错误:

Error: A JNI error has occurred, please check your installation and try again
Exception in thread “main” java.lang.NoClassDefFoundError: org/kohsuke/args4j/CmdLineException
at java.lang.Class.getDeclaredMethods0(Native Method)
at java.lang.Class.privateGetDeclaredMethods(Class.java:2701)
at java.lang.Class.privateGetMethodRecursive(Class.java:3048)
at java.lang.Class.getMethod0(Class.java:3018)
at java.lang.Class.getMethod(Class.java:1784)
在这里插入图片描述
百度上都是说什么jdk有多个版本,瞎扯!!!!害人不浅,就因为这个折腾了很久,后来是直接用
java -cp “gitblit.jar:ext/*” com.gitblit.GitBlitServer --baseFolder data
或者
./gitblit.sh
两者必需在主目录才行运行起来的;
下面记一下安装的整个过程,以及添加开机启动,百度过很多文章都没法用他们说的service gitblit start进行启动的,汗!!!

下载gitblit-1.9.1

官网:http://gitblit.github.io/gitblit/
下载好后tar命令解压到自己想装的目录:
tar -xvf gitblit-1.9.1.tar.gz /home/programs/
解压后,默认配置文件在data目录下的default.properties
vim defaults.properties
进入编辑后 对相关的几个重要的配置参数进行修改

Server.httpPort 是对http协议进行的配置,可自定义 若参数设为0则为禁用此端口,例如将server.https设为0则是禁用https的端口 ,这里若只用http协议可以将其设为8989 ,将httpsPort和sshPort的端口设为0禁用,根据个人具体需要来设置
设置修改编辑完成后按ESC 输入:wq 保存退出
配置完成后: 可以切换到目录 /home/programs/gitblit-1.9.1
执行命令
java -cp “gitblit.jar:ext/*” com.gitblit.GitBlitServer --baseFolder data
或者
./gitblit.sh
就可以运行起来了;

添加到开机自启动

发现一个现象:就是在/home/programs/gitblit-1.9.1目录的时候执行./gitblit.sh是可以的,但是如果不是这个目录下直接运行
/home/programs/gitblit-1.9.1/gitblit.sh
会报错:错误: 找不到或无法加载主类 com.gitblit.GitBlitServer
所以解决方法是编辑gitblit.sh
命令:vim gitblit.sh
在前面添加如下代码:
cd /home/programs/gitblit-1.9.1 (也就是切换程序的主目录)
nohup java -cp “gitblit.jar:ext/*” com.gitblit.GitBlitServer --baseFolder data &>/home/programs/gitblit-1.9.1/log/log.out &
效果如图:
在这里插入图片描述
保存退出;
然后就可以在其他目录也能运行/home/programs/gitblit-1.9.1/gitblit.sh 命令了,
最后添加到启动项:vim /etc/rc.local
把命令/home/programs/gitblit-1.9.1/gitblit.sh添加到里面即可;启动前记得先加载jdk环境也就是在/etc/rc.local 中添加,不然运行不起来
效果图:
在这里插入图片描述
还有要在data目录里创建temp目录,不然启动也是报错的,要注意权限!不同的用户可以用
/home/programs/gitblit-1.9.1/gitblit.sh命令直接启动看看启动信息有没有报错,
一开始我的就是报了log 和 temp不存在,于是创建了,后来又报权限不够,在/home/programs/gitblit-1.9.1目录用
chmod 777 -R *
命令给下权限就行了
我这里是指定了启动的输出日志,所以要手动在目录里创建log目录,不然命令起不来,会报没有此文件夹的错误。
添加启动成功了,到此安装好了!

最后贴上ubuntu18 的添加开机启动设置:https://www.jianshu.com/p/79d24b4af4e5

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值