6

Mac の 1.6 に加えて、Oracle の Java 1.7 がインストールされた Mac OSX 10.8.5 を使用しています。JAVA_HOME セットとパスの前に JAVA_HOME/bin があります。コマンド ラインから grails コンパイルを実行すると、1.7 ではなく Java 1.6 が選択されていることがわかります。grails コマンドラインで必要な JDK を選択するにはどうすればよいですか?

➤ echo $JAVA_HOME
/Library/Java/JavaVirtualMachines/jdk1.7.0_21.jdk/Contents/Home
➤ echo $PATH
/Library/Java/JavaVirtualMachines/jdk1.7.0_21.jdk/Contents/Home/bin /usr/local/share/npm/bin /Users/kbrodhagen/bin /Users/kbrodhagen/.rvm/bin /usr/bin /bin /usr/sbin /sbin /usr/local/bin /opt/X11/bin /usr/local/git/bin
➤ set -x JAVA_OPTS "-showversion"
➤ grails compile
java version "1.6.0_51"
Java(TM) SE Runtime Environment (build 1.6.0_51-b11-457-11M4509)
Java HotSpot(TM) 64-Bit Server VM (build 20.51-b01-457, mixed mode)
4

5 に答える 5

1

JAVA_HOME新しいSDKmanメソッドについては、エクスポートできます[YOUR HOME]/.sdkman/candidates/grails/[concrete version or current]/bin/grails

于 2016-06-30T13:59:41.913 に答える
0

Ubuntu 12.04 で Java 7/Grails 2.4.4 プロジェクトと Java 8/Spring 4 プロジェクトを切り替えることができるようにする必要がありましたが、特定のことがこれを困難にしました。

  • を使用してJava 8をインストールした後、Java 8をデフォルトバージョンとして設定しましsudo apt-get install oracle-java8-set-defaultたが、明らかに、JDKのスワップを妨げる他のenv変数が作成/etc/profile.d/jdk.shおよび/etc/profile.d/jdk.csh含まJAVA_HOMEれています。JRE_HOME
  • これはちょっとうまくいきましたが、上記の環境変数は物事を曇らせすぎました。

最後に、上記の項目の両方を環境から削除し、ファイルを次のようにしました/etc/profile.d

  • webupd8 記事に記載されているようにsudo update-java-alternatives -s java-8-oracle(または) を実行して JDK を変更します。java-7-oracle
  • 実行gvmして、必要に応じて現在またはデフォルトの grails とその他のツールを設定します

必要以上に面倒に思えますが、現在は機能していると思います。

于 2015-08-07T07:11:53.973 に答える
0

SDKMANを使用して Grails をインストールする場合 (これは現在推奨されている方法です)、インストールした Java の任意のバージョンを SDKMAN に追加することができ、それらも SDKMAN によって管理されます。例えば:

sdk install java openjdk-8 /usr/lib/jvm/java-8-openjdk-amd64
sdk use java openjdk-8

これはユーザーに対して設定されることに注意してください。そのJAVA_HOMEため、それを望まない場合は、他のオプションのいずれかを検討することをお勧めします。

$ echo $JAVA_HOME
/home/user/.sdkman/candidates/java/current

詳細情報: SDKMAN ローカル バージョン

于 2017-10-26T15:38:57.037 に答える