«Пришло время обновить java11» jdk8 обновить до dk11

Java

Каталог столбцов

  1. Пришло время обновить преимущества java11-01-jdk11 и опции jdk
  2. Пора обновить java11-02-Upgrade jdk11 и шагнуть на яму
  3. Пришло время обновить настройки параметров JVM виртуальной машины java11-03
  4. Пришло время обновить java11-04 http2 Clear Text (h2c) для связи http2 в микросервисах.
  5. Пришло время обновить java11 - 05 Препятствие и решение проблем связи h2c внутри микросервисов

предисловие

Сразу после вышесказанного автор перечислит наш апгрейд доJava11Встречающиеся ямы (если вы также столкнулись с другими проблемами, оставьте сообщение для обмена).

1. Проблема со шрифтом

В среде Linux Java11 будет использовать шрифты в некоторых функциях кода проверки и Excel, что вызывает проблему со шрифтами Java11.

решение:

  1. Создайтеfontconfig.propertiesдокумент существует$JAVA_HOME/libСоздано в каталогеfontconfig.propertiesдокумент.

Содержание следующее:

version=1
sequence.allfonts=default
  1. Установить шрифты
sudo yum install fontconfig
sudo yum install urw-fonts 
sudo fc-cache -f

Подробности можно посмотретьopen jdk github issues:GitHub.com/adopt открыть JD…

2. javax.xml.bind не существует

Java11 удалил модули Java EE, включая java.xml.bind (JAXB).

Подскажите при запуске

WARNING: Illegal reflective access by com.thoughtworks.xstream.core.util.Fields (file:/com/thoughtworks/xstream/xstream/1.4.10/xstream-1.4.10.jar) to field java.util.TreeMap.comparator

Решение состоит в том, что вы можете вручную добавить соответствующие зависимости.

<dependency>
  <groupId>javax.xml.bind</groupId>
  <artifactId>jaxb-api</artifactId>
  <version>2.3.0</version>
</dependency>
<dependency>
  <groupId>com.sun.xml.bind</groupId>
  <artifactId>jaxb-core</artifactId>
  <version>2.3.0</version>
</dependency>
<dependency>
  <groupId>com.sun.xml.bind</groupId>
  <artifactId>jaxb-impl</artifactId>
  <version>2.3.0</version>
</dependency>

Подробности можно посмотреть по адресу:stackoverflow.com/questions/5…

3. Ошибка компиляции

Следующие классы не найдены из-за удаления части API

sun.misc.BASE64Encoder、sun.misc.BASE64Decoder 

Шаги решения: используйтеjava.util.Base64.Encoder,java.util.Base64.Decoderзаменять

4. Не запускается встроенный контейнер

когда мы используемEurekaКак реестр из-за удаления зависимых модулей JAXB.

The JAXB modules which the Eureka server depends upon were removed in JDK 11. If you intend to use JDK 11 when running a Eureka server you must include these dependencies in your POM or Gradle file.

Необходимо вручную импортировать:

<dependency>
	<groupId>org.glassfish.jaxb</groupId>
	<artifactId>jaxb-runtime</artifactId>
</dependency>

утверждение

Эта серия статей подготовленаСлюда основного компонента микросервисаавтортехнология мечтыв соавторстве, Если есть какая-либо ссылка или перепечатка, пожалуйста, сохраните оригинального автора и укажите источник.

image