解决nohup java -jar xxx.jar报出[1]+ Exit 1的错误:Unable to access jarfile xxx.jar和PersistenceException异常
文章目录
- 1. 复现问题
- 2. 分析问题
- 2.1 Unable to access jarfile xxx.jar
- 2.1.2 分析Unable to access jarfile xxx.jar
- 2.1.2 解决Unable to access jarfile xxx.jar
- 2.2 exceptions.PersistenceException异常
- 2.2.1 分析 exceptions.PersistenceException异常
- 2.2.2 解决exceptions.PersistenceException异常
- 3. 问题总结
1. 复现问题
今天把manager.jar
部署到测试环境的project
目录下,使用如下指令启动项目:
[root@manager ~] nohup java -jar manager.jar > log.file 2>&1 &
[1] 78216
78126
是manager
服务的进程id
,说明manager.jar
已创建进程。
上述指令的含义是:
nohup java -jar manager.jar
启动manager.jar
项目,不挂断运行命令Log.log 2>&1
表示将stdout
和stderr
合并后重定向到log.file
关于nohup
的更多使用,可以参考这篇文档:nohup java -jar xxx.jar
为了确认manager.jar
是否启动成功,我们可以使用指令jps
查看。
jps(Java Virtual Machine Process Status Tool)
查询Linux系统当前所有java
进程pid
的命令,并可通过opt
来查看这些进程的详细启动参数。
命令格式:jps [options ] [ hostid ]
[options]选项 :
-q:仅输出VM标识符,不包括classname,jar name,arguments in main method
-m:输出main method的参数
-l:输出完全的包名,应用主类名,jar的完全路径名
-v:输出jvm参数
-V:输出通过flag文件传递到JVM中的参数(.hotspotrc文件或-XX:Flags=所指定的文件
-Joption:传递参数到vm,例如:-J-Xms512m
[hostid]选项:
- [protocol:][[//]hostname][:port][/servername]
使用指令jps
如下查看:
[root@manager ~] jps
109346 Bootstrap
78232 Jps
96267 PropertiesLauncher
54958 Bootstrap
[1]+ Exit 1 nohup java -jar manager.jar > log.file 2>&1
由[1]+ Exit 1
可知,manager.jar
启动失败。
我们可以看log.file
文件的错误信息,因为 > log.file 2>&1
会把错误信息写到该文件中。
log.file
文件与manager.jar
同目录。
2. 分析问题
2.1 Unable to access jarfile xxx.jar
2.1.2 分析Unable to access jarfile xxx.jar
使用如下指令查看log.file
文件:
[root@manager ~] tail -fn 50 log.file
nohup: ignoring input
Error: Unable to access jarfile manager.jar
报出的错误信息是:Unable to access jarfile manager.jar
,翻译成中文就是无法访问manager.jar文件
。
还记得我开始说的吗?我把manager.jar
部署到测试环境的project
目录下,但我在根路径(/root路径)下执行启动命令,因为由[root@manager ~] nohup java -jar manager.jar > log.file 2>&1 &
可知,所以,报出无法访问manager.jar
文件。
2.1.2 解决Unable to access jarfile xxx.jar
于是,执行如下命令进入到project
目录:
# 1. 进入project目录
[root@manager ~] cd ./project# 2. 启动服务
[root@manager ~] nohup java -jar jqpAdmin.jar > log.file 2>&1 &
[1] 78383# 3. 查看服务启动情况
[root@presto_sugon jqp] jps
78403 Jps
109346 Bootstrap
96267 PropertiesLauncher
54958 Bootstrap
[1]+ Exit 1 nohup java -jar jqpAdmin.jar > log.file 2>&1
依然没有启动成功,在project
目录下查看log.file
文件,看到如下报错信息:
[root@presto_sugon jqp] tail -fn 200 log.file
2022-08-25 09:20:17.313 INFO 78383 --- [ main] c.j.a.a.config.ActitytiDataSourceConfig : cpu numbers = 4
2022-08-25 09:20:19.009 ERROR 78383 --- [ main] o.a.e.impl.interceptor.CommandContext : Error while closing command contextorg.apache.ibatis.exceptions.PersistenceException:
### Error querying database. Cause: java.sql.SQLSyntaxErrorException: Table 'jqp.ACT_GE_PROPERTY' doesn't exist
### The error may exist in org/activiti/db/mapping/entity/Property.xml
### The error may involve org.activiti.engine.impl.persistence.entity.PropertyEntity.selectProperty-Inline
### The error occurred while setting parameters
### SQL: select * from ACT_GE_PROPERTY where NAME_ = ?
### Cause: java.sql.SQLSyntaxErrorException: Table 'jqp.ACT_GE_PROPERTY' doesn't existat org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:30) ~[mybatis-3.3.0.jar!/:3.3.0]at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:122) ~[mybatis-3.3.0.jar!/:3.3.0]at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:113) ~[mybatis-3.3.0.jar!/:3.3.0]
2.2 exceptions.PersistenceException异常
2.2.1 分析 exceptions.PersistenceException异常
造成org.apache.ibatis.exceptions.PersistenceException1
异常的原因是执行如下命令时:
select * from ACT_GE_PROPERTY where NAME_ = ?
发现没有ACT_GE_PROPERTY
这张表,即Table 'jqp.ACT_GE_PROPERTY' doesn't exist
。
于是,回到数据库去查看这张表,如下图所示:
使用如下SQL
语句去查询:
mysql> select * from act_ge_property;
+----------------+------------------+------+
| NAME_ | VALUE_ | REV_ |
+----------------+------------------+------+
| next.dbid | 22501 | 10 |
| schema.history | create(5.22.0.0) | 1 |
| schema.version | 5.22.0.0 | 1 |
+----------------+------------------+------+
3 rows in set (0.00 sec)
但使用select * from ACT_GE_PROPERTY
就报出表不存在的错误,唯一的原因就是mysql
开启了大小写敏感。
2.2.2 解决exceptions.PersistenceException异常
既然mysql
开启了大小写敏感,那就修改mysql
的配置文件,禁用大小写敏感即可。
在/etc/my.cnf
中的[mysqld]
后添加添加lower_case_table_names=1
,重启mysql
服务,这时已设置成功:不区分表名的大小写。
lower_case_table_names
参数详解:0:区分大小写,1:不区分大小写
mysql
在linux
下大小写规则如下:
数据库名与表名是严格区分大小写的;
表的别名是严格区分大小写的;
列名与列的别名在所有的情况下均是忽略大小写的;
变量名也是严格区分大小写的;
mysql
在windows
下都不区分大小写。
3. 问题总结
以上解决方案可能无法解决你的问题。
但是遇到[1]+ Exit 1
问题,可以在xxx.jar
的同级目录找到对应的日志文件,打开日志文件查看错误内容。
根据错误内容再寻求其他解决方案。
如果想要了解更多关于nohup
、>
、>>
、tail
、cd
等linux
常用命令,可以参考文档:https://blog.csdn.net/lvoelife/article/details/126536958
解决nohup java -jar xxx.jar报出[1]+ Exit 1的错误:Unable to access jarfile xxx.jar和PersistenceException异常相关推荐
- Error: Unable to access jarfile xxx.jar
Error: Unable to access jarfile xxx.jar 解决 今天有同事遇到这个异常,顺便记录一下,SpringBoot项目install编译后得到xxx.jar包,在虚拟机服 ...
- Myeclipse破解失败error: unable to access jarfile cracker.jar解决方法
我的情况是在cracker.jar破解成功后,Myeclipse依旧显示不成功. 破解方案如下: 1.进入cmd,输入java -jar cracker.jar 成功则显示图形 失败则会显示 erro ...
- Myeclipse2017的真正解决方法+crack.bat管理员运行后Unable to access jarfile cracker2017.jar实在不行换2014或其他
初识Myeclipse的时候,他还挺像个人,但出事的时候就百般苦恼了 官网上有最新版,先放上链接 https://www.genuitec.com/products/myeclipse/ 新用户可免费 ...
- 宝塔面板Java 项目一键部署 一键启动spring boot 日志报错 Error: Unable to access jarfile xxx.jar--service
根据宝塔官方部署教程 部署SpringBoot项目的时候日志里面写着这么一句话Error: Unable to access jarfile xxx.jar--service 疑惑了一会,后来才发现原 ...
- 网站压力测试软件(Apache JMeter)2.13 官方版 Error: Unable to access jarfile ApacheJMeter.jar
https://jmeter.apache.org/download_jmeter.cgi 官网 https://archive.apache.org/dist/jmeter/binaries/ ...
- MAC 启动jar失败 显示 Unable to access jarfile xxx.jar
先检查java -version,一般查看此问题的人都会出现java版本: 问题来了,每次mac 版本升级,就会清除环境变量,导致 JAVA_HOME不在了: echo $JAVE_HOME 将输出空 ...
- myeclipse闪退报错:Error:Unable to access jarfile cracker2018.jar
解决方案: 命令行进入该文件夹: 命令行中输入:javaw -jar cracker2018.jar,即可调出该页面! 踩过的坑 如果你想激活myeclipse,jdk版本一定不要用11的,11版本的 ...
- nohup: 忽略输入 Error: Unable to access jarfile【已解决】
linux启动jar包时的错误信息,找了两个小时 错误信息 nohup: 忽略输入 Error: Unable to access jarfile /app/jar/my-project-1.0.ja ...
- 解决:Unable to access jarfile xxx-0.0.1-SNAPSHOT.jar
前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家.点击跳转到教程. 1.执行: java -jar xxx.0.0.1-SNAPSHOT.jar 报错: Un ...
最新文章
- python初学之魔法方法1
- Google团队在DNN的实际应用方式的整理
- bootstrap 标题居中加颜色_BootStrap从基础到项目实战_第1季_03章_01_CSS样式之栅格布局...
- Bootstrap-table 部分浏览器显示不出来
- Java中int[]与Integer[]相互转化的方法
- win右键管理工具3.3.3.0
- 有机食品海报这样设计,收获了意想不到的效果…
- Windows 2008 实战之KMS实施(Revision 2)
- Matlab Tricks(六)—— 矩阵乘法的实现
- c/c++中指针数组和数组指针的区别
- 阿里云安装kubernetes-UI报错endpoints \kubernetes-dashboard\ not found解决方法
- 三年级计算机第一学期期末试题,三年级上册信息技术期末考试试卷(清华版)
- matlab 匹配滤波相位谱,信号检测与估计知识点总结(2)
- MCGS保存并显示历史记录
- 计算机能力参考范文,信息技术能力论文,关于关于中学计算机教学的若干相关参考文献资料-免费论文范文...
- 双绞线连接布线方案(计算机网络)
- 快来领取哔哩哔哩855张官方壁纸(2021年02月16日更新,附爬虫工具)
- numpy loadtxt错误ValueError: Wrong number of columns at line ***
- 演绎另类黑客马拉松,机智云中国第二届智能硬件36小时开发大赛完美收官
- oracle 会话数上不去_程序员笔记|全面解析Oracle等待事件的分类、发现及优化