LoginSignup
5
5

More than 5 years have passed since last update.

Mac OSのUnityでJavaのバージョンが古くなってしまっている時の対応

Posted at

プラグインとして使用しているライブラリのjarファイルが求めているバージョンなどで、現在のMacにインストールされているJavaではコンパイル時にエラーとなるときがある。


�x��:java/lang/Object.class(java/lang:Object.class): ���W���[�o�[�W���� 51 �́A���̃R���p�C���ŃT�|�[�g�����Ă����ŐV�̃��W���[�o�[�W���� 50 �����V�����ł��B
�R���p�C���̃A�b�v�O���[�h�������߂��܂��B
�x��:java/lang/String.class(java/lang:String.class): ���W���[�o�[�W���� 51 �́A���̃R���p�C���ŃT�|�[�g�����Ă����ŐV�̃��W���[�o�[�W���� 50 �����V�����ł��B
�R���p�C���̃A�b�v�O���[�h�������߂��܂��B
�x�� 2 ��

というエラーが文字化けして出てくることもある。
これはどうやら


java/lang/Object.class(java/lang:Object.class): major version 51 is newer than 50, the highest major version supported by this compiler. It is recommended that the compiler be upgraded. 1 warning

ということのようなので、javaのバージョンを確認する。

しかし、Appleの古いJDK (1.6以前)とOracleのJDK(1.7以降)が入っている場合、
コマンドラインから


java -version

としても、1.8と返ってくることがある。
Unityが参照しているバージョンとは明らかに違う。

この場合、Unityがandroidのコンパイルに使用しているのは
/System/Library/Frameworks/JavaVM.framework/Versions/CurrentJDK
からリンクされたJDKのようだ。

OracleからインストールしたJDKは、
/Library/Java/JavaVirtualMachines/jdk1.8.0_25.jdk/Contents/
というように格納されているので、そちらを指すようにする。

形式に習って、/System/Library/Frameworks/JavaVM.framework/Versions/以下で


sudo ln -s /Library/Java/JavaVirtualMachines/jdk1.8.0_25.jdk/Contents/ 1.8.0
sudo rm CurrentJDK
sudo ln -s 1.8.0 CurrentJDK

として、CurrentJDKが1.8.0を向くようにする。

5
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
5