遭遇

早上合并代码,本地跑起来没有问题,部署到服务器,在服务器上进行编译的时候,一直提示错误

看到错误之后,首先我去对应的文件查看一下,发现所以的问题都是这个com.sun包下的,提示找不到。查找一下,这个是jdk下的rt.jar包里面。。。
官方解释:javac uses a special symbol table that does not include all Sun-proprietary classes. When javac is compiling code it doesn’t link against rt.jar by default. Instead it uses special symbol file lib/ct.sym with class stubs.大意是:javac在编译时,并不引用 rt.jar,用的是一个特别的symbol table(lib/ct.sym),这个symbol table不包含所有的sun包的类。

具体原因:J2SE中的类大致可以划分为以下的各个包:java.,javax.,org.,sun.;除了“sun”包,其它各个包都是Java平台的标准实现,并且今后也将被继续支持。一般说来,“sun”之类的包并不包含在Java平台的标准中,它与操作系统相关,在不同的操作系统(如Solaris,Windows,Linux,Mac等等)中的实现也各不相同,并且可能随着J2SE版本不定期变化。因此,直接调用“sun”包的程序代码并不是100%的Java实现。也就是说:“sun.*”包并不是API公开接口的一部分,调用“sun”包的程序并不能确保工作在所有Java平台上,事实上,这样的程序并不能工作在今后的Java平台上。

解决方式

我是通过下面这种方式解决的

<!--解决服务器编译无法加载到rt.jar包中com.sun.*--><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><compilerArgs><arg>-XDignore.symbol.file</arg></compilerArgs><fork>true</fork></configuration></plugin>

找了很多资料,有网友推荐以下方式

<plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-compiler-plugin</artifactId><version>3.1</version><configuration><source>${java.version}</source><target>${java.version}</target><encoding>UTF-8</encoding><compilerArguments><bootclasspath>${java.home}/lib/rt.jar</bootclasspath></compilerArguments></configuration>
</plugin>
```java

这种方式我也试过,但是我放到服务器上之后,会出现新的问题,我这边会提示maven的版本有问题,折腾了半天没弄好,你们可以试试


[参考文章](https://blog.csdn.net/am_Sun/article/details/106374866):

maven编译找不到包com.sun.*相关推荐

  1. go编译找不到包golang.org/x/net

    go编译找不到包golang.org/x/net 运行环境 编译发生错误 问题原因 解决办法 运行环境 go 版本:go version go1.14.4 windows/amd64 使用包:net/ ...

  2. maven编译不通过:软件包com.sun.org.apache.xml.internal.security.utils.Base64 不存在

     问题:代码中使用了sun公司的第三方私有库,导致编译不通过 maven打包异常:软件包com.sun.org.apache.xml.internal.security.utils.Base64 不存 ...

  3. java11 使用ParameterizedTypeImpl 程序包sun.reflect.generics.reflectiveObjects不存在 maven编译失败

    项目场景: 项目需要一个从接口获取数据集合的sdk,数据集合里面的元素类型会有多种,但是顶层的数据结构一样的,算是一种比较常见的使用方式: {"total": 1234," ...

  4. Linux 没有主清单属性,maven编译正常,运行报错:中没有主清单属性

    在pom.xml添加插件 org.apache.maven.plugins maven-shade-plugin 1.2.1 package shade com.xxx.spider.Main 执行命 ...

  5. Maven compile 编译后Error:(8,31) java: 程序包com.sun.istack.internal不存在 Error:(318,57) java: 找不到符号的解决办法

    是因为代码里使用了 sun 私有包中 @NotNull注解导致,只要引入相应的sun私有包就行了!! 网上看到的解决办法:如下 KmService.java:[4,30] 错误: 程序包com.sun ...

  6. Gradle/Maven编译时找不到com.sun包的原因与解决方法

    错误: 程序包com.sun.xml.internal.bind.marshaller不存在 import com.sun.xml.internal.bind.marshaller.Namespace ...

  7. javac编译错误: 程序包 com.sun.xxx 不存在

    文章目录 运行环境 一.问题描述 二.探究过程 三.原因 四.解决方式 五.总结 六.参考链接 运行环境 Java版本:java version "1.8.0_281" 操作系统: ...

  8. 既使用maven编译,又使用lib下的Jar包

    既使用maven编译,又使用lib下的Jar包 在项目开发中,项目用maven管理,是一个maven项目.  一般情况下jar包都可以使用pom.xml来配置管理,但也有一些时候,我们项目中使用了一个 ...

  9. Jenkins部署maven项目找不到jar包解决

    Jenkins部署maven项目找不到jar包解决 环境部署 问题描述 解决方案 环境部署 1. centos搭建java部署环境 2. jenkins环境搭建 3. jenkins部署springb ...

最新文章

  1. Python gui编程pyQt5安装步骤
  2. 答网友提问,ABAP post调用外部接口遇到405 not allow
  3. ASP.NET Core开发-Docker部署运行
  4. springboot:BeanPostProcessor示例及分析
  5. transform限制position:fixed的跟随效果
  6. do while的使用
  7. 一生都学不完的计谋(经典)
  8. error: member “torch::jit::ProfileOptionalOp::Kind“ may not be initialized
  9. 哈佛有只”精灵球“,唯有它能温柔收放深海的软体精灵 |Science Robotics
  10. with(nolock)解释
  11. 软件测试工作中的沟通问题
  12. AssionShop开源B2C电子商务系统-概述(转载)
  13. Android自定义View,画一个好看带延长线的饼状图
  14. html怎么制作小黄人,教你如何自己动手制作小黄人模型攻略
  15. windows查看系统运行时间和cmd命令大全
  16. matlab中integrator,matlab:Simulink Integrator的理解
  17. 【虚幻引擎】UE4/UE5科大讯飞文字合成语音
  18. 如何在HTML网页里添加CSS边框,css如何设置边框?
  19. 新浪微博 (sso package or sign error)
  20. 测试面试题整理(2022.02.28)

热门文章

  1. java毕设项目酒店管理系统(附源码)
  2. java timertask 销毁_java中TimerTask 如何才能停止呢
  3. 电脑花屏不一定是显卡问题
  4. git cherry-pick 将另一个分支的某个提交拉取到当前分支(也叫做遴选),在命令窗口和sourcetree中的使用
  5. 算法面试之Roberta、Albert
  6. 属性名有中横线要如何获取
  7. -webkit-flex 属性
  8. KIEl的kengen获取方法
  9. 万豪因数据泄露被罚款1840万英镑
  10. 2021“MINIEYE杯”中国大学生算法设计超级联赛(1)个人解题报告