【问题标题】:Apple removed all Java JDKs in Catalina upgrade to 10.15.5, java8 apps not able to run any moreApple 删除了 Catalina 升级到 10.15.5 中的所有 Java JDK,java8 应用程序无法再运行
【发布时间】:2020-05-28 11:44:52
【问题描述】:

我昨天晚上将我的 Mac 从 10.15.4 更新到了 10.15.5。 现在我收到错误消息

Execution failed for task XYZ.
  java.net.BindException: Can't assign requested address (Bind failed)

在 IntelliJ 中。 在命令行中启动它会产生错误,例如 javax 缺失和指向注解的东西。

除了删除了一些权限这一事实之外,它还删除了除 Java 11 之外的所有 Java JRE 和 JDK。

再次安装java8后

brew cask install adoptopenjdk8

并放入配置:

implementation group: 'javax.activation', name: 'javax.activation-api', version: '1.2.0'
implementation group:'javax.annotation', name: 'javax.annotation-api', version: '1.3.2'

命令上的错误终于和IDEA一样了:

任务 ':xxxx-primefaces:appStart' 执行失败。

java.net.BindException:无法分配请求的地址(绑定失败)

我错过了配置中的哪些内容? 我能做些什么?有什么想法吗?

(好吧,终于扔掉所有这些 Mac 硬件并切换到 linux :-/ 自从我安装了 catalina 之后,我的同事们无论如何都在嘲笑我……) (不,

【问题讨论】:

  • Bind failed 表示某物已经在使用某物试图监听的端口。这不太可能与您的依赖项或 JRE/SDK 安装有关。
  • 有 2 种类型的 BIND 失败。这通常会指向 IPV6 问题。症状是,IDEA 似乎提供了 javax.activation 和注释,并且直接遇到了这个问题,而从 shell 开始却没有。 :3: 错误:包 javax.activation 不存在 import javax.activation.DataSource; ^
  • 最后,我在 gradle.properties 中设置了 org.gradle.java.home=/Library/Java/JavaVirtualMachines/jdk1.8.0_162.jdk/Contents/Home/,这是一个糟糕的折衷方案。这现在有效,迫使 gradle 使用 jdk8。这并不能解释为什么它在 10.15.4 之前一直有效——尤其是我习惯于在 IDEA 内部或外部并行运行 J11 和 J8 应用程序而没有任何问题。

标签: java macos java-8 macos-catalina


【解决方案1】:

嗯。这太荒谬了。 Mac 越来越多地向 Windows 收敛。 所以,重启做到了。 :-D 当然,也不需要将 2 个库放入 gradle 配置中。

更新: 重启只是暂时解决了问题,所以今天又回来了(没有额外的重启,顺便说一句,我不启动 Mac:-p)

强制 gradle 使用 1.8 JDK

org.gradle.java.home=/Library/Java/JavaVirtualMachines/jdk1.8.0_162.jdk/Contents/Home/

做了这个

./gradle/appStart mylovelyApp 

再次工作。

由于天地之间没有魔法,也没有超越(我相信),我将进一步研究这一点。我想看到的是,是什么弥补了两个小规模操作系统升级之间的差异,这些升级需要花费一整天的时间。

感谢任何 cmets,尤其是来自 MacUsers 的。

附录(IntelliJ 配置):

【讨论】:

  • 这只是强化了我上面的评论:某些东西正在使用端口并重新启动您的机器关闭了该进程(幸运的是,它没有自动重新启动)。
  • 重启并没有神奇地重新安装所有旧的 JRE 和 JDK。你误解了症状,仅此而已。
  • @Joachim 绝对没有任何东西阻塞端口。这也会引发一个不同的异常:“java.net.BindException:地址已在使用:无法绑定”,但这里是:“java.net.BindException:无法分配请求的地址(绑定失败)”,即两双鞋。 ,请。见上面我的 cmets。
猜你喜欢
  • 1970-01-01
  • 2020-09-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-11-13
  • 2015-05-29
  • 2020-02-05
相关资源
最近更新 更多