Linux上使用绝对路径执行jar程序的时候,程序找不到相关文件问题(急!!!)

爆米花机枪手 2018-01-10 10:25:17
说明:
jar包所在目录假设在/user/web/下;
我的项目是采用assembly插件打包成zip文件,jar包和配置文件分开的

以前自己部署项目会直接进入/user/web下然后执行
nohup java -jar a.jar &
这样一直是没有问题的,而且log文件自动会在/user/web/下生成并写入日志。

昨天在使用jenkins做CI的时候,我是在jenkins上使用远程命令
ssh root@ip nohup java -jar /user/web/a.jar &

本以为这样就ok了,但是我发现/user/web/并没有log文件,但是通过PID我看到,服务是跑起来了,然后就找原因,最后在home目录下找到了日志文件,但是日志报错了说找不到某个文件

这个文件我是放在propertites目录下面的,代码里是这样写的
mobileFile = new File("mobile_blacklist.xml");


问题是:
我想知道
nohup java -jar /user/web/a.jar &
这样启动的方式和在/user/web/目录下执行code=text]nohup java -jar a.jar &[/code]有什么区别,为什么会导致日志出现的位置不一样
...全文
1145 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
oyljerry 2018-01-10
  • 打赏
  • 举报
回复
最好log日志也用完整路径来指定
tianfang 2018-01-10
  • 打赏
  • 举报
回复
当前路径问题 你是java运行的当前路径下建立log文件。 nohup java -jar /user/web/a.jar &是在任意路径下执行,jenkins新建一个进程的当前路径是该用户的home路径。 nohup java -jar a.jar & ,你是在/user/web下运行的
项目描述 本系统是一套极速开发微信小程序的商城系统,主要包括用户管理、角色管理、部门管理、菜单管 理、定时任务、文件上传、数据权限、Redis 缓存、前后台统一异常处理等系统通用功能,还拥有一套完整的商城后台管理系统、微信小程序源码、小程序接口服务、以及完善的支付流程,极大缩短项目的开发周期。 项目特点 ◆ shop-wechat-mall 采用 Spring、MyBatis、Shiro、swagger 框架开发。 ◆ 灵活的权限控制,可控制到页面或按钮,满足绝大部分的权限需求。 ◆ 完善的部门管理及数据权限,通过注解实现数据权限的控制。 ◆ 支持 MySQL 数据库。◆ 多个团队协作开发,有效降低核心代码泄露。 ◆ 推荐使用阿里云服务器部署本系统项目介绍 shop-admin 后台模块,也是系统的核心,用来开发后台管理系统。 shop-api 接口模块,是小程序商城的接口开发模块。实现了微信用户登录、接口权限认证、获取登录用户、商城首页、专题、分类、 购物车、个人中心等功能,为小程序商城接口的安全调用,提供一套完整的解决方案。 shop-common 公共模块,其他模块以 jar 包的形式引入进去,主要提供些工具类,以 及 shop-admin、shop-api 模块公共的 entity、mapper、dao、service 服务,防止一个功能重复多次编写代码。 shop-framework 系统 web 合并模块,最终项目打包部署模块。最后会介绍为什么会设计此模块,以及设计此模块的意图。 shop-gen 代码生成器模块,只需在数据库里,创建好表结构,就可以生成增、删、改、查等操作的代码,包括 entity、mapper、 dao、service、controller、页面等所有代码,项目开发神器。 shop-schedule 定时任务模块,使用开源框架 quartz 实现分布式定时任务,动态添加、修改、删除、暂停、恢复、立即执行定时任务。 shop-shop 商城后台管理系统,实现了商城的后台管理功能。 wx-mall 商城小程序端源码 开发使用到的软件和工具 Xshell6、Xftp6、Tomcat8.0.33、jdk1.8、MySQL5.7、redis4.0.1 本地部署 ◆ 配置环境(推荐 jdk1.8、maven3.3、tomcat8、mysql5.5+、redis4.0.1) 本机启动 redis 服务、mysql 数据库初始化项目 ◆ 创建数据库 shop-shop,数据库编码为 UTF-8,执行数据库脚本_sql/shop.sql、sys_region.sql、更新脚本.sq ◆ 启动项目之前修改 dev/shop.properties,修改数据库账号和密码,wx.appId、wx.secret、wx.mchId、wx.paySignKey ◆ 修改 j2cache.propertie 配置 redis.hosts 和 redis.password 使用 IDEA 启动项目 配置 tomcat启动成功,访问 http://localhost账号密码:admin/admin Swagger 路径 http://localhost/swagger-ui.html 小程序接口路径 http://localhost/api/ 使用微信 web 开发者工具启动 wx-mall 导入 wx-mall 到微信 web 开发者工具修改 config/api.js 配置开发模式设置     

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧