8

java 1.6 u_17でプログラミングしていますが、JREバージョン6とJREバージョン7がインストールされているので、コンパイルしたプログラムをJDK 1.6から実行して、JRE 6のみで実行するにはどうすればよいですか?

デフォルトでは、JRE 7を介してクラスファイルを実行します。この動作を変更するにはどうすればよいですか?JDKの場合と同様に、Windows7でクラスパスを設定するというアイデア。

コマンドプロンプトに次のように表示されます

E:\JAVA>javac -version
javac 1.6.0_17

E:\JAVA>java -version
java version "1.7.0_09"
Java(TM) SE Runtime Environment (build 1.7.0_09-b05)
Java HotSpot(TM) Client VM (build 23.5-b02, mixed mode, sharing)

これは、Windows7の環境パスを表示するSETコマンド用です

ALLUSERSPROFILE=C:\ProgramData
APPDATA=C:\Users\Administrator\AppData\Roaming
ClassPath=C:\Program Files\Java\jdk1.6.0_17\bin\mysql-connector-java-5.1.5-bin.jar;
CommonProgramFiles=C:\Program Files\Common Files
COMPUTERNAME=RANDMATE-PC
ComSpec=C:\Windows\system32\cmd.exe
FP_NO_HOST_CHECK=NO
HOMEDRIVE=C:
HOMEPATH=\Users\Administrator
JAVA_HOME=C:\Program Files\Java\jre6\bin;
LOCALAPPDATA=C:\Users\Administrator\AppData\Local
LOGONSERVER=\\RANDMATE-PC
NUMBER_OF_PROCESSORS=2
OS=Windows_NT              Path=C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files\Java\jdk1.6.0_17\bin;C:\Program Files\Java\jre6\bin;C:\Program Files\MyS
QL\MySQL Server 5.1\bin;C:\Program Files\UltraEdit\;C:\Program Files\Jar2Exe                  Wizard\;C:\Program Files\Java\jre6\bin;
PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC
PROCESSOR_ARCHITECTURE=x86
PROCESSOR_IDENTIFIER=x86 Family 15 Model 6 Stepping 5, GenuineIntel
PROCESSOR_LEVEL=15
PROCESSOR_REVISION=0605
ProgramData=C:\ProgramData
ProgramFiles=C:\Program Files
PROMPT=$P$G
PSModulePath=C:\Windows\system32\WindowsPowerShell\v1.0\Modules\
PUBLIC=C:\Users\Public
SESSIONNAME=Console
SystemDrive=C:
SystemRoot=C:\Windows
TEMP=C:\Users\ADMINI~1\AppData\Local\Temp
TMP=C:\Users\ADMINI~1\AppData\Local\Temp
USERDOMAIN=RANDMATE-PC
USERNAME=Administrator
USERPROFILE=C:\Users\Administrator
windir=C:\Windows
4

12 に答える 12

12

Windowsを使用しているようです。環境変数に移動し、ユーザー変数を次のように定義してください。

    Right Click(My Computers) -> Advanced -> Environment Variables -> Add

    Variable Name = JAVA_HOME
    Variable Value = Root Folder of Java 1.6.0_17 installation

また、同じ画面で、PATH変数を確認**bin** Folder of Java 1.6.0_17 installationし、パスに最初に追加されていることを確認し、Java 7がパスにある場合は、パスから削除してください。

于 2012-10-30T02:48:37.323 に答える
10

system32フォルダーのjava.exeを削除することで、この問題を修正します。次に、cmdでjavaコマンドは、パス環境変数に設定されたjdkを参照します。

于 2013-07-25T07:46:11.597 に答える
5

java.exeはC:\ windows \ system32でも利用可能であり、あなたの場合、そのバージョンは1.7である可能性があります。

パスには最初にC:\ windows\system32があるためです。パスの残りの部分をどのように設定しても、sonarは常にjre7をロードします。(Sonarディレクトリのconf\wrapper.confを参照してください。デフォルトではwrapper.java.command=javaがあります)

これを修正するには、「wrapper.conf」ファイルの次のプロパティを変更します。wrapper.java.command= C:\ Program Files \ Java \ jdk1.6.0_XX \ bin \ java

これにより、パス変数に関係なく問題が修正されます。

于 2013-09-26T11:23:10.550 に答える
4

同じ問題を抱えている人のために、私はこのスレッドを読むことをお勧めします:

https://superuser.com/questions/479889/wrong-java-version-being-reported

wmzの引用:「コマンドラインから「java-version」を実行したときに実際に何が実行されるかを確認するには:(java.exe)の%Iに対して@echo%〜$ PATH:Iを実行します。」

于 2013-01-04T15:10:35.093 に答える
2

WindowsはPATH変数をチェックして、javaという名前の実行可能ファイルを見つけ、それを使用してアプリケーションを起動します。開発環境では、(あなたがそうするように)多くのインストールがあるのはごく普通のことです。ただし、これには環境を管理する必要があります。

Windowsで環境変数を設定する方法は2つあります。上記のように[マイコンピュータ]>[詳細設定]>[環境変数]に移動すると、JDKインストールに変数を設定し、パスを更新してそのインストールでbinディレクトリを見つけることができます。システム変数(すべてのユーザー)またはユーザー変数(アカウントのみ)を更新するかどうかを選択できます。

個人的には、システム/ユーザー環境変数を使用しない方が好きです。これは柔軟性が低いためです。batファイルを使用して、特定の時点のパスを明示的に設定したり、JAVA_HOMEをオーバーライドして別のインストールを指すようにすることができます。

IDEを使用している場合は、通常、プロジェクトごとにターゲットランタイムを指定できます。または、プログラムを実行するときに、使用するJava実行可能ファイルのバージョンへの完全修飾パスを指定します。

于 2012-10-30T03:21:29.320 に答える
2

私も同じ問題を抱えていました。問題は、Javaインストールがjava.exe、javaw.exe、およびjavaws.exeをwindows/system32ディレクトリにコピーすることです。最近JDK7をインストールしている必要があります。

これらのファイルをWindows/System32ディレクトリから削除しましたが、古いバージョンをパスに保持しました。これで問題は解決しました。

やってみよう。

于 2014-08-13T14:56:25.310 に答える
2

私も同様の問題に直面していました。私はJava7とJava8を一緒に使用しています。Java 8がマシンにインストールされましたが、7つのセットアップを別のシステムからコピーしました。すでにJAVA_HOMEとパスを7に設定しています。しかし、%path%をエコーし​​ようとすると、クラスパスにJdk8が表示されます。たくさんのグーグルの後、私はパスに「C:\ ProgramData \ Oracle \ Java\javapath」を見つけました。パスから行を削除すると、問題が解決しました。

于 2015-09-03T05:44:03.030 に答える
2

バックグラウンド

Windows 8.1を使用していて、JDK6とJDK8の両方がインストールされています。開発の目的で、私java version "1.6.0_45"はコマンドjava -versionとをjavac 1.6.0_45乗り越える必要がありましたjavac -version。2番目のコマンドはJAVA_HOME、JDK6のホームフォルダとして設定し、を追加%JAVA_HOME/bin%した後、期待どおりに機能していましたPath。しかし、最初のコマンドはまだ戻っていましたjava version "1.8.0_71"

トラブルシューティング

Pathを指す環境変数のエントリを見つけることができましたC:\ProgramData\Oracle\Java。このフォルダには、実際にはJDK8のjava.exeへのショートカットが含まれています。

適切な解決策:JDK8をアンインストールします

回避策:ショートカットファイルを編集して、内部のjava.exeを指すようにします%JAVA_HOME%\bin(変数を実際のフォルダーに置き換えてください)

于 2016-01-29T04:33:58.283 に答える
0

PATH変数をjdk6\binディレクトリに設定します。jdk6からとjavacを選択するようにします。java

パス変数を設定するには、環境変数に移動します。パス変数を設定した後、コマンドプロンプトを再起動する必要があります。(コンピューターではありません)。

于 2012-10-30T03:13:49.010 に答える
0

MyComputerを右クリックし、[システムの詳細設定]->[環境変数]->[新規]を選択します。[変数名]テキストフィールドに文字列「PATH」を追加するか、リストからPATHを選択し、[編集]をクリックして追加します。プログラムファイルのjavaの「bin」フォルダのパスを「Variablevalue」テキストフィールドに続け、その後にセミコロン(;)を付けます。終了しない場合は、「VariableValue」フィールドにjavaフォルダのbinディレクトリのパスを追加して「OK」をクリックします。

結果を確認したい場合は、コマンドプロンプトを開き、「java」と入力して、Enterキーを押します。

于 2013-05-07T04:48:39.983 に答える
0

Windows 7(X86)のパス設定の場合:

最初のステップ:Mycomputer(右クリック)->プロパティ->詳細設定->環境変数->新規(ユーザー変数)

この最初の変数名: "" JAVA_HOME ""値: "" C:\ Program Files \ Java \ jdk1.7.0_45 ""

2番目の変数名: "" PATH ""値: "" C:\ Program Files \ Java \ jdk1.7.0_45 \bin;。; ""

于 2013-11-25T08:59:28.157 に答える
0

Javaのパスには、永続的パスと一時的パスの2種類があります。

これは、Javaのパスを設定する方法を説明するビデオチュートリアルです。

Javaのパスを設定する方法:https://www.youtube.com/watch?v = rM4Qq3Ua7Sk

このビデオチュートリアルでは、Javaの永続パスと一時パスを設定する方法について説明します。手順に従ってください。これは、Java、JDK、またはJREのすべてのバージョンで機能します。ビデオでは、JDKのパスを使用しました。JDKの代わりにJREのパスをコピーするだけで、残りは同じです。

または、こちらのチュートリアルをお読みください:Javaのパスを設定する方法:http://aatul.me/2011/08/24/how-to-set-path-for-java/

このソリューションがお役に立てば幸いです。

于 2014-06-19T17:31:00.007 に答える