maven build 失败 “找不到符号” 排查

    在工作中除了自己代码本身的问题,在build是涉及到一些maven环境问题,在本地的启动编译是好的,到了测试环境docker之后就报如下错误:
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:2.3.2:compile (default-compile) on project pay-channel-gateway-command-service: Compilation failure
[ERROR] /data/jenkins/webapps/jenkins/workspace/deploy-to-docker-pay-channel-gateway-test/pay-channel-gateway-command-service/src/main/java/com/ximalaya/business/pay/channel/gateway/command/domain/service/PayMembershipService.java:[33,37] 错误: 找不到符号
[ERROR] -> [Help 1]
[ERROR] 
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.

可以看到编译失败,PayMembershipService.java:[33,37] 错误: 找不到符号 

      因为这个payMembershipService 是一个远程服务,于是开始排查:

1:最先想到的是该RPC服务的jar包引入是否有问题,检查未发现问题,

2:查看jar是否是jar包deploy的问题,在发docker的时候拉取不到,尝试之后也没发现问题,

3:后来查了一些资料,说是jdk版本的问题,查看pom文件中指定的是1.8啊。后来看到Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:2.3.2:compile (default-compile) on project pay-channel-gateway-command-service: Compilation failure,尝试升级maven plugin 版本  从2.3.2 升到的3.1 问题就解决了。

配置如下:根pom文件中:

<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>3.1</version>
            <configuration>
                <source>1.8</source>
                <target>1.8</target>
                <encoding>UTF-8</encoding>
            </configuration>
        </plugin>
    </plugins>
</build>

ps:之后同事也遇到到了这个问题,与我的不同的是,他不报编译错误,只报找不到服务,

     于是建议他升级编译插件版本,由于不是编译错误升级之后并不能build成功,但是升级还是有用的,不只是报找不到符号,还能报出具体是什么符号找不到,是一个引用jar包的问题(修改之后更新冲突了,也就是在第2步出错了),于是重新升级jar包版本deploy,就解决了。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值