Как запустить две разные версии Java одновременно на OS-X? - PullRequest
3 голосов
/ 28 апреля 2019

Я не был уверен, стоит ли ставить это на Superuser или Stack Overflow, но я выбрал здесь, потому что это касается разработки программного обеспечения для языка программирования Gosu .

Язык программирования Gosu требует Java 8 и не принимает Java 11 или более поздние версии JDK / JRE (не уверен, какая из них актуальна). Это проблема, потому что у меня есть Java 11, и команда разработчиков оставила эту проблему надолго. Он на багтрекере, и никто давно ничего с этим не делал.

Мне нужно настроить среду разработки с Java 8 и Java 11, установить Gosu в среду с Java 8, а затем выяснить, как изменить исходный код Gosu, чтобы он был совместим с Java 11. Есть ли какие-либо Руководство от людей, которые занимались разработкой и разработкой проекта, подобными этому?

Ответы [ 3 ]

3 голосов
/ 28 апреля 2019

Что касается Gosu и Java 11, последний выпуск Gosu 1.15.0 поддерживает исключительно Java 11.

2 голосов
/ 28 апреля 2019

Это можно разделить на 3 задачи

  1. Установка нескольких версий JDK
  2. По умолчанию для каждого проекта для собственной разработки
  3. Выбор конкретной версии при работе на OSX

В основном для локального развития вам, вероятно, нужен поток, подобный

Установка нескольких версий JDK с помощью brew

$ brew cask install caskroom/versions/java11
$ brew cask install adoptopenjdk/openjdk/adoptopenjdk8

$ ls /Library/Java/JavaVirtualMachines/
adoptopenjdk-12-openj9.jdk graalvm-ce-1.0.0-rc14      jdk1.8.0_65.jdk            openjdk-11.0.2.jdk

Выберите между тем для вашей разработки с помощью jEnv (прекрасно работает с bash) https://www.jenv.be/

Для скриптов, если работает в OSX, используйте java_home

$ /usr/libexec/java_home -v 11
/Library/Java/JavaVirtualMachines/openjdk-11.0.2.jdk/Contents/Home
$ /usr/libexec/java_home -v 1.8
/Library/Java/JavaVirtualMachines/graalvm-ce-1.0.0-rc14/Contents/Home
2 голосов
/ 28 апреля 2019

Я бы скачал docker и настроил отдельные контейнеры docker для каждой вашей среды jdk.А затем в соответствующую добавьте все другие зависимости, которые есть у проекта языка госу.Docker-контейнеры будут хранить отдельные наборы зависимостей и не позволять им мешать друг другу.

...