You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Jenkins自动部署WAR包至树莓派Tomcat7遇异常求助

搞定Jenkins部署WAR包到树莓派Tomcat7的异常问题

兄弟,看你描述的情况——Jenkins构建没问题,但往树莓派的Tomcat7(5000端口)部署时抛出了org.eclipse.aether.transfer.NoTr...开头的异常,这个坑我之前踩过,大概率是传输中断、权限配置错了或者Tomcat端的问题,给你列几个实用的排查和解决方向:

一、先把Tomcat端的基础配置捋清楚

  • 先确认Tomcat的管理端口和manager应用状态:你说Tomcat跑在5000端口,那manager应用的访问地址就是http://树莓派IP:5000/manager/html,先在树莓派本地用curl http://localhost:5000/manager/html测下能不能打开,要是打不开,要么是manager没启用,要么是端口配置错了。
  • 必须给Tomcat配置带manager-script权限的用户:编辑树莓派上Tomcat的conf/tomcat-users.xml,加一段用户配置,比如:
<user username="jenkins-deploy" password="你的密码" roles="manager-script,manager-gui"/>

这个manager-script权限是Jenkins调用Tomcat部署API必须的,少了肯定报错。

  • 检查树莓派的防火墙:要是用ufw的话,执行sudo ufw allow 5000放开端口,不然Jenkins连不上Tomcat的管理服务。

二、核对Jenkins的部署配置细节

  • 如果你用的是Maven的tomcat7-maven-plugin部署,先看pom.xml里的配置对不对:
<plugin>
    <groupId>org.apache.tomcat.maven</groupId>
    <artifactId>tomcat7-maven-plugin</artifactId>
    <version>2.2</version>
    <configuration>
        <url>http://你的树莓派IP:5000/manager/text</url> <!-- 注意是/text接口,不是/html -->
        <server>tomcat-rpi</server>
        <path>/MyProject</path>
    </configuration>
</plugin>

然后要在Jenkins的全局Maven配置里,或者Maven的settings.xml里,配置tomcat-rpi对应的账号密码,和Tomcat里的用户完全匹配。

  • 要是用Jenkins的Tomcat插件部署,确保插件里填的Tomcat URL是http://树莓派IP:5000,账号密码正确,并且选对了“Deploy to container”的目标容器。

三、考虑树莓派的性能和网络稳定性

  • 树莓派性能有限,Tomcat默认内存可能不够,部署时容易卡断:修改树莓派上Tomcat的bin/catalina.sh,在开头加一行JAVA_OPTS="-Xmx512m -Xms256m",给Tomcat多分配点内存。
  • 检查Jenkins和树莓派之间的网络:在Jenkins服务器上用ping 树莓派IP测下有没有丢包,或者用curl -u jenkins-deploy:你的密码 http://树莓派IP:5000/manager/text/list测试能不能获取已部署应用列表,这个命令失败的话,直接排查网络或者权限问题。

最后,补全异常信息会更精准

你现在只贴了异常开头的org.eclipse.aether.transfer.NoTr...,最好把完整的异常栈信息贴出来,比如是不是NoTransferProgressException,有没有后续的错误描述(比如连接超时、权限拒绝),这样能更快定位问题。

内容的提问来源于stack exchange,提问作者clorisanderton

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.22 07:49:44