文章目录

  • 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

78126manager服务的进程id,说明manager.jar已创建进程。

上述指令的含义是:

  1. nohup java -jar manager.jar 启动manager.jar项目,不挂断运行命令

  2. Log.log 2>&1 表示将stdoutstderr合并后重定向到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]选项

  1. -q:仅输出VM标识符,不包括classname,jar name,arguments in main method

  2. -m:输出main method的参数

  3. -l:输出完全的包名,应用主类名,jar的完全路径名

  4. -v:输出jvm参数

  5. -V:输出通过flag文件传递到JVM中的参数(.hotspotrc文件或-XX:Flags=所指定的文件

  6. -Joption:传递参数到vm,例如:-J-Xms512m

[hostid]选项

  1. [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:不区分大小写

mysqllinux下大小写规则如下:

  1. 数据库名与表名是严格区分大小写的;

  2. 表的别名是严格区分大小写的;

  3. 列名与列的别名在所有的情况下均是忽略大小写的;

  4. 变量名也是严格区分大小写的;

mysqlwindows下都不区分大小写。

3. 问题总结

以上解决方案可能无法解决你的问题。

但是遇到[1]+ Exit 1问题,可以在xxx.jar的同级目录找到对应的日志文件,打开日志文件查看错误内容。

根据错误内容再寻求其他解决方案。

如果想要了解更多关于nohup>>>tailcdlinux常用命令,可以参考文档:https://blog.csdn.net/lvoelife/article/details/126536958

解决nohup java -jar xxx.jar报出[1]+ Exit 1的错误:Unable to access jarfile xxx.jar和PersistenceException异常相关推荐

  1. Error: Unable to access jarfile xxx.jar

    Error: Unable to access jarfile xxx.jar 解决 今天有同事遇到这个异常,顺便记录一下,SpringBoot项目install编译后得到xxx.jar包,在虚拟机服 ...

  2. Myeclipse破解失败error: unable to access jarfile cracker.jar解决方法

    我的情况是在cracker.jar破解成功后,Myeclipse依旧显示不成功. 破解方案如下: 1.进入cmd,输入java -jar cracker.jar 成功则显示图形 失败则会显示 erro ...

  3. Myeclipse2017的真正解决方法+crack.bat管理员运行后Unable to access jarfile cracker2017.jar实在不行换2014或其他

    初识Myeclipse的时候,他还挺像个人,但出事的时候就百般苦恼了 官网上有最新版,先放上链接 https://www.genuitec.com/products/myeclipse/ 新用户可免费 ...

  4. 宝塔面板Java 项目一键部署 一键启动spring boot 日志报错 Error: Unable to access jarfile xxx.jar--service

    根据宝塔官方部署教程 部署SpringBoot项目的时候日志里面写着这么一句话Error: Unable to access jarfile xxx.jar--service 疑惑了一会,后来才发现原 ...

  5. 网站压力测试软件(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/  ...

  6. MAC 启动jar失败 显示 Unable to access jarfile xxx.jar

    先检查java -version,一般查看此问题的人都会出现java版本: 问题来了,每次mac 版本升级,就会清除环境变量,导致 JAVA_HOME不在了: echo $JAVE_HOME 将输出空 ...

  7. myeclipse闪退报错:Error:Unable to access jarfile cracker2018.jar

    解决方案: 命令行进入该文件夹: 命令行中输入:javaw -jar cracker2018.jar,即可调出该页面! 踩过的坑 如果你想激活myeclipse,jdk版本一定不要用11的,11版本的 ...

  8. nohup: 忽略输入 Error: Unable to access jarfile【已解决】

    linux启动jar包时的错误信息,找了两个小时 错误信息 nohup: 忽略输入 Error: Unable to access jarfile /app/jar/my-project-1.0.ja ...

  9. 解决:Unable to access jarfile xxx-0.0.1-SNAPSHOT.jar

    前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家.点击跳转到教程. 1.执行: java   -jar    xxx.0.0.1-SNAPSHOT.jar 报错: Un ...

最新文章

  1. python初学之魔法方法1
  2. Google团队在DNN的实际应用方式的整理
  3. bootstrap 标题居中加颜色_BootStrap从基础到项目实战_第1季_03章_01_CSS样式之栅格布局...
  4. Bootstrap-table 部分浏览器显示不出来
  5. Java中int[]与Integer[]相互转化的方法
  6. win右键管理工具3.3.3.0
  7. 有机食品海报这样设计,收获了意想不到的效果…
  8. Windows 2008 实战之KMS实施(Revision 2)
  9. Matlab Tricks(六)—— 矩阵乘法的实现
  10. c/c++中指针数组和数组指针的区别
  11. 阿里云安装kubernetes-UI报错endpoints \kubernetes-dashboard\ not found解决方法
  12. 三年级计算机第一学期期末试题,三年级上册信息技术期末考试试卷(清华版)
  13. matlab 匹配滤波相位谱,信号检测与估计知识点总结(2)
  14. MCGS保存并显示历史记录
  15. 计算机能力参考范文,信息技术能力论文,关于关于中学计算机教学的若干相关参考文献资料-免费论文范文...
  16. 双绞线连接布线方案(计算机网络)
  17. 快来领取哔哩哔哩855张官方壁纸(2021年02月16日更新,附爬虫工具)
  18. numpy loadtxt错误ValueError: Wrong number of columns at line ***
  19. 演绎另类黑客马拉松,机智云中国第二届智能硬件36小时开发大赛完美收官
  20. oracle 会话数上不去_程序员笔记|全面解析Oracle等待事件的分类、发现及优化

热门文章

  1. 用java做出聊天工具
  2. app2sd 与 A2SD+
  3. 我用Python逆向登录世界上最大的游戏平台,steam加密手段有多高明【内附源码】
  4. DIY 空气质量检测表
  5. 解决安装import nonebot后报错importError问题
  6. 骑马与砍杀:风云三国 for Mac(角色扮演游戏)
  7. 【Plumed教程(一)】增强采样Plumed入门
  8. mysql数据库角色的使用
  9. 多言统计及R语言建模按组距为300编制频数表,计算频数,频率和累积频率表,并绘制直方图
  10. 将Excel中的数据导入html以及将html表格数据导出Excel