开发者社区 问答 正文

jenkins运行jar包并打印日志无效 打印报错

nohup java -jar /var/jenkins_home/workspace/app-business/APP-API/target/APP-API-exec.jar --spring.profiles.active=test >/var/jenkins_home/java/log/APP-API.log 2>&1 &

上面是shell命令,但是在查看日志执行的时候  >/var/jenkins_home/java/log/APP-API.log 2>&1 & 后面打印的语句被忽略了,只到了spring.profiles.active=test,不知道是什么问题

如下图,控制台输出日志

![image.png](https://ucc.alicdn.com/pic/developer-ecology/87f743f17b4a43c6a07742a2f984d43b.png)

展开
收起
huc_逆天 2020-05-28 09:22:38 622 分享 版权
阿里云 AI 助理回答

您使用的命令行指令是用于在Linux或类Unix系统中后台启动Java应用程序并将其输出重定向到文件的常见做法。这条命令的具体组成部分如下:

  • nohup:这是一个命令行工具,代表“no hang up(不挂断)”。使用它可以在终端会话结束时继续运行指定的命令。这对于需要长时间运行且不能因用户退出SSH会话或关闭终端而中断的任务非常有用。

  • java -jar:这是用来启动Java应用程序的标准方式。java 是Java运行时环境(JRE)的一部分,用于执行编译后的Java字节码。-jar 参数告诉Java运行一个包含清单文件的jar包。

  • /var/jenkins_home/workspace/app-business/APP-API/target/APP-API-exec.jar:这是您的Java应用程序jar包的完整路径。通常,这会在持续集成/持续部署(CI/CD)工具如Jenkins的工作空间中找到。

  • --spring.profiles.active=test:这是传递给Spring Boot应用的命令行参数,用于激活特定的配置文件。在这个例子中,激活的是test配置文件,意味着应用将以测试环境的配置运行。

  • >/var/jenkins_home/java/log/APP-API.log:这个重定向操作符将标准输出(stdout,即正常输出的信息)重定向到指定的日志文件中。这意味着应用运行时的所有常规输出信息会被写入到/var/jenkins_home/java/log/APP-API.log文件里。

  • 2>:这是另一个重定向操作符,但在这里没有给出具体的文件路径。通常情况下,2>后面会跟一个文件路径来重定向标准错误输出(stderr)。如果省略了后面的文件路径,它可能默认与标准输出合并,或者根据系统的默认行为处理。正确的用法应该是类似2>&1来将标准错误也重定向到同一个日志文件,或者指定一个单独的错误日志文件,如2>/var/jenkins_home/java/log/APP-API.err.log

综上所述,该命令旨在让Java应用以测试配置在后台运行,并将所有输出(包括正常输出和错误输出)记录到文件中,以便于后续查看和分析。如果您希望独立记录错误输出,可以补充完整2>之后的路径。

有帮助
无帮助
AI 助理回答生成答案可能存在不准确,仅供参考
0 条回答
写回答
取消 提交回答