私は自分のコンピュータ上でEclipse v3.5(Galileo)を再実行させようとしています - 問題なく以前に実行しましたが、 今 このエラーが出続けます
Eclipseを実行するには、Java Runtime Environment(JRE)またはJava Development kit(JDK)が利用可能でなければなりません。次の場所を検索した後、Java仮想マシンは見つかりませんでした。現在のPATHにC:\ Eclipse\jre\javaw.exe javaw.exeがあります。
JDKとSDKの両方を新規インストールしました。
Windows 7(x 64)を使っています。
これはどうしたの?どうやって直すの?
Ipconfig/tracert /またはpingを実行できません。
Eclipseはデフォルトでデフォルトの "Java.exe
"(あなたのPATH
によって参照される最初のもの)で起動しようとします。
覚えておくべき3つのこと:
PATH
はありません。2012年6月、 jmbertucci のコメント:
Windows 7 64ビットを実行していて、32ビットJREがインストールされています。 64ビットのJREを探す64ビットのEclipseをダウンロードしました。私は64ビットJREを持っていなかったので、それはエラーを投げました、そしてそれは理にかなっています。
私はJavaの手動インストールページに行き(これはあなたが望むほど直接はアクセスできない)、64ビットバージョンをインストールしました。 「 すべてのオペレーティングシステム用のJavaダウンロード 」を参照してください。それが私が必要としたすべてでした。
2016年4月: Steve Mayne 追加 コメントに :
正しいJavaパスを参照するように
Eclipse.ini
ファイルを編集する必要がありました -Eclipse.ini
に値がある場合、Eclipseは環境PATH
をまったく使用しません。
このファイルをコピーするだけです。
c:/Program Files/Java/jre(5,6,7..any version)/bin/javaw.exe
eclipseフォルダへ
*メモはWindows用のみテスト済み
設定に関する他のすべての答えonlyJava_HOME
は完全には正しくありません。 EclipseはつまりしませんJava_HOME
を調べません。エラーメッセージをよく見てください。
...あなたの現在のPATHに
Java_HOME
ではなく文字通りPATH
と言いました。
マイコンピュータを右クリックしてプロパティ(またはを押します。 Winkey+Pause---タブに行きますAdvanced、ボタンをクリックします--- Environment Variables、一番下のSystem VariablesリストでPath
(no、notClasspath
)、編集をクリックし、値の最後に;c:\path\to\jdk\bin
を追加します。
あるいは、存在しない場合は、環境変数Java_HOME
を追加して、それをPATH
で使用することもできます。同じダイアログでNewをクリックしてJava_HOME
の値を付けてc:\path\to\jdk
を追加します。その後、Path
設定の値の最後に;%Java_HOME%\bin
を追加できます。
コントロールパネルからWindowsのシステムのプロパティを開き、環境変数セクションを探します。
ほとんどのJavaツールは、Java_HOME環境変数を使用するか、Path環境変数でJava.exe/javaw.exeを探すことによって、Javaインストールを見つけることができます。
64ビット版のEclipseをダウンロードした場合64ビット版のJREを探します。 32ビット版のEclipseをダウンロードした場合32ビット版のJREを探します。
私がしたのはJREの32ビット版と64ビット版の両方をインストールすることでした。これはSunのOracleサイトから入手できます。 Javaサイトは自動的に32ビット版のJavaをインストールするようです。それはWebブラウザが原因だと思います。
私がしなければならなかったのは、 'path' を次のように変更することだけでした。
"C:¥Windows¥system32; C:¥Windows; C:¥Windows¥System32¥Wbem; C:¥Program Files(x86)¥Java; C:¥Program Files(x86)¥Java¥jdk1.6.0_14¥bin 「
それはそれをしました:)
私は窓7 64ビットを持っており、私はEclipseでこれと同じ問題を抱えていた。それを動作させるために、私はJavaをダウンロードするためにInternet Explorer(64-bit版)を使わなければなりませんでした。これは、64ビットバージョンをJavaにインストールさせる唯一の方法です。私がFirefoxを使ってJavaをインストールしたとき、それは自動的に32ビットバージョンをインストールしました(とてもばかげています!)。そしてEclipse 64ビット版はJava 32ビット版を検出しないでしょう。
ほとんどすべての更新で変更されるので、windowsパス変数に頼らないでください。例えば。クロム(64ビットマシンでは32ビット)のJavaアップデートは、システム全体の64ビットJVMを32ビットJVMに置き換えます。また、このエントリはEclipse.iniの最後のエントリである必要があります。それ以外の場合は機能しません。また、Java_HOME変数はEclipse.exeによって評価されません。
java_HOMEとPathが有効に設定されていても、それらがこの問題を抱えている可能性があるので、最も簡単な方法はEclipseのinstalltionフォルダーにあるEclipse.iniを開くことです
-vm
C:¥Program Files¥Java¥jdk1.7.0_71¥bin¥javaw.exe
c:¥Program Files¥Java¥jdk1.7.0_71¥bin¥javaw.exeをjdkまたはjreのパスに置き換えます。
心配しないでください私もこのエラーと致命的に台無しにされたと私はそれを得たとき私はAndroidのプログラミングを離れるために与えていたとしても私はとてもイライラしていたパスの下に...
C:¥Program Files、C:¥Winnt、C:¥Winnt¥System32、C:¥Program Files¥Java¥jre6¥bin¥javaw.exe
今、私はこのパスの下に "jre"を持っているようにあなたのパスから "jre" folder をコピーします
C:\Program Files\Java
eclipseフォルダに貼り付けると、Eclipse.exeファイルが配置される場所になります。私のEclipseがこの場所に設定されているように
F:\Softwares\LANGUAGES SOFTEARE\Android Setup\Eclipse
Eclipseフォルダ内に "jre"フォルダを貼り付けます。あなたが "jre6"を持っているなら、それを "jre"と名前を変更してください....そしてあなたのEclipseを走らせるならあなたは解決策を得るでしょう...
//<<<<<<<<<<<<<<----------------------------->>>>>>>>>>>>>>>>>>>
その他の解決策:2
問題が上記の手順で解決できない場合は、次の手順に従います。
-vmF:¥Softwares¥LANGUAGES SOFTEARE¥Android Setup¥Eclipse Indigoバージョン32 Bit¥jre¥bin/javaw.exe
今度はEclipseを起動するときにjavaw.exeを検索し、Eclipse.ini内のパスを検索します。これは同じフォルダーにあるため、javaw.exeを起動して動作します。 。
それでも質問がある場合は、もう一度質問してください。私のプロフィールにアクセスして、私の電子メールIDを確認してください。私はスタックオーバーフローフォーラムが大好きで、それが私をプログラマーにしてくれたからです。*
Eclipse.ini
ファイルで、javaw.exe
がマシンにインストールされているのと同じ場所を指すようにVMへのパスを更新する必要があります。
新しく更新されたJDKを更新するために私のEclipse.iniファイルを編集しました。以前はjdk1.7.0_09を使用していましたが、今度はjdk1.7.0_80に更新すると、Eclipseはこのエラーをスローしました。
Eclipseを実行するには、Java Runtime Environment(JRE)またはJava Development Kit(JDK)が利用可能でなければなりません。次の場所を検索した後、Java仮想マシンは見つかりませんでした。C:/ Program Files/Java/jdk1.7.0_09/bin/javaw
Eclipse.ini から更新した後、
-vm
C:/Program Files/Java/jdk1.7.0_09/bin/javaw
に
-vm
C:/Program Files/Java/jdk1.7.0_80/bin/javaw
Eclipseはうまく動作します。
eclipseフォルダーにバッチファイルを作成して書き込みます。
Eclipse -vm C:\Sun\SDK\jdk\jre\bin\javaw.exe
http://wiki.Eclipse.org/FAQ_How_do_I_run_Eclipse%3Fを参照してください
64ビットコンピュータでデフォルトのアップデートを使用してJavaのバージョンを更新した場合(および 32ビットのブラウザ の場合)、Javaは32ビットバージョンをインストールします。 64ビットのJavaバージョンを見つけてインストールする必要があります。
私がそのような問題を抱えていたとき、私の場合私はx64 JDK + JREをx86 Eclipseと共にインストールしました。そこで、x86 JDK + JREをインストールすることで問題が解決しました:)また、Eclipseフォルダーにjre
フォルダーを作成し、ローカルパスC:\Program Files (x86)\Java\jre7
から..\Eclipse\jre\
にbin
フォルダーをコピーしました。
私は先週、この正確な問題について同僚と話しました。彼は、x64バージョンのEclipseとx64 JDKをインストールすることによってそれを修正しました。
編集:彼は必要なプラグインをインストールした後、彼の古いワークスペースを再利用したので、それは大した問題ではないはずです
もっと簡単な方法があります。 cmd x 64を実行するだけです。スタートメニューの検索バーにcmd x64と入力してください。antまたはプログラムファイルへのパスを設定する必要があります(x86)...たとえばC:\ Program Files(x86)\ Java\jre6
環境変数にEx:C:¥Program Files¥Java¥jre5¥binのJREパスを追加するだけです。すべての道の間に。それからEclipse.exeをクリックしますそれは動作します.....
Java_HOMEを正しいフォルダに設定してみてください。 Windowsで環境変数を設定するためのGoogle。
私もこの問題に遭遇しました。私の場合は以下の通りです。
本文中:
HKEY_CURRENT_USER\Environment
Path REG_SZ %Java_HOME%\bin;C:\ProgramFiles\nodejs
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment
Java_HOME REG_SZ C:\ProgramFiles\Java\jdk
Path REG_EXPAND_SZ C:\bin;%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;%SYSTEMROOT%\System32\
WindowsPowerShell\v1.0\;C:\Program Files\Intel\DMIX;c:\Program Files (x86)\Microsoft SQL Server\90\Tools\binn\;C:\Progra
m Files (x86)\Perforce;C:\ProgramFiles\010 Editor;C:\Program Files\Microsoft SQL Server\130\Tools\Binn\;C:\ProgramFiles\
Git\cmd;C:\Program Files (x86)\Skype\Phone\
C:\Users\ssfang> echo %^Java_HOME% = "%^Java_HOME%" = %%Java_HOME%% %Java_HOME%
%Java_HOME% = "%^Java_HOME%" = %C:\ProgramFiles\Java\jdk% C:\ProgramFiles\Java\jdk
レジストリ値Path
の種類が異なることがわかったので、パスが有効かどうかを次のコマンドで確認しました。
C:\Users\ssfang> where node Java
C:\ProgramFiles\nodejs\node.exe
INFO: Could not find "Java".
その結果、次のコマンド( Setx )を使ってローカル(現在のユーザー)の環境をリセットします。
C:\Users\ssfang> setx PATH %^Java_HOME%\bin;"C:\ProgramFiles\nodejs"
SUCCESS: Specified value was saved.
C:\Users\ssfang> reg query HKEY_CURRENT_USER\Environment /v Path
HKEY_CURRENT_USER\Environment
Path REG_EXPAND_SZ %Java_HOME%\bin;C:\ProgramFiles\nodejs
C:\Users\ssfang> where node Java
C:\ProgramFiles\nodejs\node.exe
INFO: Could not find "Java".
C:\Users\ssfang>echo %PATH%
C:\bin;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Fi
les\Intel\DMIX;c:\Program Files (x86)\Microsoft SQL Server\90\Tools\binn\;C:\Program Files (x86)\Perforce;C:\ProgramFile
s\010 Editor;C:\Program Files\Microsoft SQL Server\130\Tools\Binn\;C:\ProgramFiles\Git\cmd;C:\Program Files (x86)\Skype\
Phone\;%Java_HOME%\bin;C:\ProgramFiles\nodejs
しかし、現在のプロセスでは、それらの変更を他の実行中のプロセスに伝播することはできません。
ただし、レジストリエディタでユーザー環境変数を直接変更すると、
環境変数を変更しても、すぐには変更されません。たとえば、変更を加えた後で別のコマンドプロンプトを起動した場合、環境変数は以前の(現在の値ではなく)値を反映します。変更は、ログオフしてから再度ログオンするまで有効になりません。
ログオフせずにこれらの変更を有効にするには、システム内のすべてのウィンドウにWM_SETTINGCHANGEメッセージをブロードキャストして、関心のあるアプリケーション(Windowsエクスプローラ、プログラムマネージャ、タスクマネージャ、コントロールパネルなど)が更新を実行できるようにします。
詳しくは 環境変数をシステムに伝達する方法 を参照してください。
ここでは、それを実行するためのPowerShellスクリプトを示します。
# powershell -ExecutionPolicy ByPass -File
# Standard, inline approach: (i.e. behaviour you'd get when using & in Linux)
# START /B CMD /C CALL "foo.bat" [args [...]]
# powershell -ExecutionPolicy ByPass -WindowStyle Hidden -File myScript.ps1
<#
Add-Type @'
public class CSharp
{
public static void Method(object[] first, object[] second)
{
System.Console.WriteLine("Hello world");
}
}
'@
$a = 1..4;
[string[]]$b = "a","b","c","d";
[CSharp]::Method($a, $b);
#>
<#
#http://stackoverflow.com/questions/16552801/how-do-i-conditionally-add-a-class-with-add-type-typedefinition-if-it-isnt-add
#Problem Add-Type : Cannot add type. The type name 'PInvoke.User32' already exists.
if (-not ("MyClass" -as [type])) {
add-type @"
public class MyClass { }
"@
}
p.s. there's no Remove-Type; see this answer for more on how to best work around this limitation:
http://stackoverflow.com/questions/3369662/can-you-remove-an-add-ed-type-in-powershell-again
I think it will be wanted when debugging.
It is much simpler to close a tab in Console and open new one in PowerShell_ISE.exe or close PowerShell.exe.
Or
Start-Job -ScriptBlock {
param([uri]$url,$OutputDir)
# download and save pages
Invoke-RestMethod $url | Out-File "$OutputDir\$($url.Segments[-1])" -Force
} -ArgumentList $link,$OutputDir
#>
if (-not ([System.Management.Automation.PSTypeName]'PInvoke.Program').Type)
{
$sig=@"
using System;
using System.Runtime.InteropServices;
using System.Text;
using System.Collections.Generic;
// The global namespace is the "root" namespace: global::system will always refer to the .NET Framework namespace System.
///P/Invoke (Platform Invoke)
namespace PInvoke
{
public static class User32
{
/// http://www.pinvoke.net/default.aspx/Constants/HWND.html
// public const IntPtr HWND_BROADCAST = new IntPtr(0xffff);
/// https://msdn.Microsoft.com/en-us/library/windows/desktop/ms725497(v=vs.85).aspx
/// http://www.pinvoke.net/default.aspx/Constants/WM.html
public const UInt32 WM_SETTINGCHANGE = 0x001A;
// SendMessageTimeout(HWND_BROADCAST, WM_SETTINGCHANGE, 0, (LPARAM) "Environment", SMTO_ABORTIFHUNG, 5000, &dwReturnValue);
/// https://msdn.Microsoft.com/en-us/library/windows/desktop/ms644952(v=vs.85).aspx
/// If the function succeeds, the return value is nonzero.
[System.Runtime.InteropServices.DllImport("user32.dll", EntryPoint = "SendMessageTimeout", SetLastError = true)]
public static extern uint SendMessageTimeout(IntPtr hWnd, uint Msg, int wParam, string lParam, SendMessageTimeoutFlags fuFlags, uint uTimeout, out int lpdwResult);
}
[Flags]
public enum SendMessageTimeoutFlags : uint
{
SMTO_NORMAL = 0x0,
SMTO_BLOCK = 0x1,
SMTO_ABORTIFHUNG = 0x2,
SMTO_NOTIMEOUTIFNOTHUNG = 0x8,
SMTO_ERRORONEXIT = 0x20
}
public class Program
{
public static void Main(string[] args)
{
//int innerPinvokeResult;
//uint pinvokeResult = User32.SendMessageTimeout(User32.HWND_BROADCAST, User32.WM_SETTINGCHANGE, 0, "Environment", SendMessageTimeoutFlags.SMTO_NORMAL, 1000, out innerPinvokeResult);
Console.WriteLine("Over!!!!!!!!!!!!!!!!!!!!!!!!!");
}
}
}
"@
Add-Type -TypeDefinition $sig
}
## [PInvoke.Program]::Main([IntPtr]::Zero);
$innerPinvokeResult=[int]0
[PInvoke.User32]::SendMessageTimeout([IntPtr]0xffff, [PInvoke.User32]::WM_SETTINGCHANGE, 0, "Environment", [PInvoke.SendMessageTimeoutFlags]::SMTO_NORMAL, 1000, [ref]$innerPinvokeResult);
Setx setx [/ s [/ u [] [/ p []]]] [/ m]
/m Specifies to set the variable in the system environment. The default setting is the local environment
そうですね、この答えは他のすべてを試してみた人たちにとって、まだ運の悪いことではありません。Android studioまたはEclipse
かもしれません。
set Java_exe=
call lib\find_Java.bat
if not defined Java_exe goto :EOF
それらをに変更
set Java_exe=
<あなたのJava.exeファイルへのパス(あなたのjdkフォルダ/ binディレクトリの中にあります)>
行を見つける
rem Set SWT.Jar path based on current architecture (x86 or x86_64) for /f "delims=" %%a in ('"%Java_exe%" -jar lib\archquery.jar') do set swt_path=lib\%%a
swt_path=
<x86の場合はそれぞれのswt.jarファイルへのパス、sdk\tools\lib\x86、x64の場合はsdk\tools\lib\x86_64にあります>このエラーが発生するのは、Eclipseが起動するにはJREが必要だからです。最初に検索する場所は現在のディレクトリ、次にEclipse.iniファイル、そして最後にシステムパスです。それで、それがこれら3つの場所のいずれかを通して正しいjvm(ビットバージョンが異なる)を見つけることができないならば、それはまぐさ桶です
このファイルに次の行を含めることで、Eclipse.iniファイルを編集し、vm/jreを正確に探す場所をEclipseに指示することをお勧めします。
-vm
[あなたのJava.exeへのパス](通常 "C:\ Program Files\Java\jre7\bin"の下にあります)
P.S Eclipse.iniを編集するには、移動して編集してから貼り付ける必要があります。
出典: - ウィキ
まず最初に、YouYouのソリューションに感謝します。 YouYou( https://stackoverflow.com/a/14464653/801919 )で答えてみました。最初は、それは私にとってはうまくいきませんでした。以下は、それを機能させるために必要な手順です。
Choose the 32-bit download to use with a 32-bit browser.
したがって、32ビットバージョンをダウンロードしました。Java was started but returned exit code=13
javaw.exe
をコピーしました。...そしてEclipseは働き始めました!!!やあ!
同じ問題(Windows 7 x 64、64ビットJDK、32ビットEclipse)があり、2つの解決策が見つかりました。
1つの問題はEclipse-64ビット版と32ビット版である私達のJavaインストールの間の衝突です。 Javaインストールページでは64ビット用のオプションが提供されていないため、これは簡単には解決できません。32ビットを想定し、32ビットバージョンをダウンロードしてインストールします。この問題を解決するには、次の手順に従ってください。
jre7
からC:/program files/Java/
フォルダーをコピーし、それをEclipseのインストールフォルダーにコピーします。jre
に改名します。Eclipseをインストールしてください。
--launcher.appendVmargs -vm C:¥Program Files¥Java¥jdk1.7.0_79¥jre¥bin¥javaw.exe -vmargs
私は同じ問題を抱えていました。私がそれを修正するための簡単な方法は、x86またはx64としてJREとEclipseの両方をインストールすることでした。それらのビットタイプが一致しないとき、Eclipseはそれを見つけることができませんでした。あなたがそれらを一致させるためにアンインストールして再インストールすることは大したことではないのであれば、私はそれをするでしょう。
インストールしてしまいました:Java Runtime Environment 1.7.0.3(64ビット)とEclipse Indigo(3.7)(64ビット)
それはそれだけでうまくいきます。
最初にコンピュータ、次にプロパティ、そしてシステムの詳細設定、そして詳細の順に選択します。
(第3メニュー)
次に、下部にある環境変数ボタンをクリックします。
追加する環境変数をパスするには:
C:\Program Files\Java\jdk1.8.0_102\bin\;C:\Program Files\Java\jdk1.8.0_102\lib\;
そしてエラーは消えます。これは最高のものです。
もう1つの方法は、jreフォルダ(C:\Program Files\Java\jre1.8.0_102
)を次のフォルダにコピーすることです。
E:\Eclipse-jee-Indigo-SR2-win32\Eclipse
フォルダ。それからエラーは消えます。
「ウィンドウ」>「設定」>「Java」>「インストール済みJRE」を確認してください。そこに何かがあることを確認してください。ない場合は追加します。
最近JDKを更新しましたか?
JDKはデフォルトパスにJVMをインストールしません。
Antのように実行するための外部ツールが必要でない限り、非JDKでEclipseを実行することができます。そのようなJVMをインストールする最も簡単な方法は http://Java.com に行き、インストールしたいものは何でもインストールすることです。
その後、Eclipseのバイナリをもう一度ダブルクリックします。
Javawだけをコピーした場合、2番目のエラーが発生しました。コピーしてもJava.dllファイルがありません。Eclipseは起動しませんでした。問題が解決しました。
java_HOME変数とad Java_HOME/binをevnrionmentパス変数に設定します。