Minecraft (и, возможно, некоторые другие приложения) не будут работать в системе с удаленной предустановленной Java и установленной текущей JDK 7 Я уже вставил ссылку на каталог Java 6 в текущий каталог. Другие приложения, такие как Adobe Illustrator, которым требуется Java, работают с этим исправлением.
Сообщение об ошибке гласит no compatible version of java 1.5+ is available
,
Каково разумное объяснение, почему это приложение работает на Java 7 в Linux и Windows, но не на Mac, и что можно сделать для этого?
Выход из /usr/libexec/java_home -V
:
Matching Java Virtual Machines (4):
1.7.0_17, x86_64: "Java SE 7" /Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home
1.7.0_17, x86_64: "Java SE 7" /Library/Java/JavaVirtualMachines/jdk1.7.0_17.jdk/Contents/Home
1.7.0_17, x86_64: "Java SE 7" /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home
1.7.0_17, x86_64: "Java SE 7" /System/Library/Java/JavaVirtualMachines/jdk1.7.0_17.jdk/Contents/Home
/System/Library/Java/JavaVirtualMachines
символическая ссылка на /Library/
один и 1.6.0.jdk
символическая ссылка на jdk1.7.0_17.jdk
Поэтому только один JDK устанавливается.
java -version
java version "1.7.0_17" Java(TM) SE Runtime Environment (build 1.7.0_17-b02) Java HotSpot(TM) 64-Bit Server VM (build 23.7-b01, mixed mode)
Ответы:
Minecraft для Mac и другие приложения Java обычно упаковываются с помощью JavaApplicationStub от Apple. JavaApplicationStub - это небольшая программа, которая декодирует Info.plist внутри приложения, обнаруживает Apple Java (6), отображает сообщение об ошибке «Чтобы открыть это приложение, необходимо установить устаревшую среду выполнения Java SE 6» (если Apple Java не установлена ) и, наконец, вызывает Apple Java с правильными аргументами для запуска приложения. Проблема в том, что JavaApplicationStub жестко связан с обнаружением и загрузкой Apple Java. JavaApplicationStub почти никогда не будет вызывать Oracle Java, независимо от того, какие аргументы вы передаете, или как вы пытаетесь обмануть его для вызова Oracle Java.
Первым шагом является изменение файла Info.plist в Minecraft, чтобы вывести JavaApplicationStub из цикла и заменить его чем-то, что является Oracle Oracle дружественным. universalJavaApplicationStub - это скрипт bash, который автоматически определяет Oracle Java или Apple Java и вызывает приложение. Я описал процесс в своем блоге, чтобы заставить Minecraft для Mac работать независимо от того, какая Java установлена:
http://svexpertise.blogspot.com/2015/08/make-mac-minecraft-work-on-oracle-java.html
Практически все решения работают с JavaApplicationStub. Некоторые предполагают его удовлетворение (путем установки Apple Java), другие - избегая его (путем непосредственного вызова .jar), а некоторые - заменяя его (путем установки пользовательского сценария bash или universalJavaApplicationStub).
источник
Каков вывод терминала с сообщением об ошибке?
Глядя на это обсуждение:
http://www.linuxquestions.org/questions/linux-games-33/minecraft-not-running-on-java-7-a-929983/
Вывод ошибки указывает, что двоичные файлы Minecraft Java связаны с 32-битными версиями. Похоже, у вас установлена 64-битная версия. Ваша установка Java7 поддерживает 32 бита?
Кроме того, вы используете последние обновления кода Minecraft / мод / etc?
Редактировать:
Учитывая сообщение об ошибке в ответе, это привело меня к этому:
Это было найдено в:
https://getsatisfaction.com/mojang/topics/osx_x86_64_minecraft_execution_fixed
С помощью:
http://www.minecraftforum.net/topic/487766-fixed-lsopenurlswithrole-failed-with-error-10810/
Что касается проверки версии Java:
Указывает на 64-битную виртуальную машину сервера в смешанном режиме. При тестировании с '-d32' и 'd64' среда выполнения java должна сообщать об этом с помощью экрана справки против ошибок, хотя это не исключает 32-битных / 64-битных библиотек в отсутствующих путях.
Но chmod выше может помочь больше.
Обратите внимание, я не использую Minecraft.app для запуска MineCraft, когда я запускаю его на Mac. Я делаю следующее:
Мой скрипт-обертка:
И я управляю этим:
У меня есть параметр, потому что иногда мне нравится запускать сторонние оболочки вокруг самого приложения MineCraft.
Добавить:
Кстати, это альтернативный метод, который я использую для запуска MineCraft, так как MineCraft.app на Mac никогда не работал для меня надежно.
Пробная стрельба с:
java -Xmx1024M -Xms512M -cp minecraft.jar net.minecraft.LauncherFrame
источник
LSOpenURLsWithRole() failed with error -10810 for the file /Applications/Minecraft.app.
, Minecraft.app является последним с сайта. Как узнать, поддерживает ли моя установка Java 32-битную версию?x86_64
там? На другом примечании: я мог бы начать игру с Minecraft.app/Contents/Resources/java/MinecraftLauncher.jar отлично, так что это определенно как-то связано с .app.