実行中
sencha app build production
次のようなエラーが表示されます。
エラー:レジストリキー 'Software\JavaSoft\Java Runtime Environment'\CurrentVersion '
値は '1.8'ですが、 '1.7'が必要です。エラー:Java.dllが見つかりませんエラー:Java SE Runtime Environmentが見つかりませんでした。
Java -version
、コマンドは次のように表示されています。
Javaバージョン "1.8.0_40" Java(TM)SEランタイム環境(ビルド1.8.0_40-b26)Java HotSpot(TM)64ビットサーバーVM(ビルド25.40-b25、混合モード)
パスが間違っているところを見つけることができません。何か案が?
-----------------------編集-------------------------- ----------------------
注:私はWindows 7(64ビット)を使用しています。
Sencha touch cmdをアンインストールしてから再インストールしてみました。それでも同じエラーです。
すべてのJavaバージョンのインスタンスをアンインストールし、最新のインスタンスを再インストールしました。それでも問題は解決しません。
何百ものトリックを試した後、ようやく成功しました。
Java.exe
、javaw.exe
、javaws.exe
をすべて削除しました。
Windows\System32
と
Windows\SysWOW64
フォルダ[x64システムの場合はステップ2を試してください(7 64ビットで勝利)]
私の場合(Windows 7 64ビット)、私はちょうど次のようにしました:
その後、私はすべての開いているコマンドラインコンソールを閉じ、それらを再び開いてJava -versionを実行しました。
[HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Runtime Environment]
に行くCurrentVersion
を "1.8"から "1.7"に変更再:Windowsユーザー
いいえ。PATH変数からJavapath環境参照を削除しないでください。
レジストリが機能しなかった理由は、Oracle JavapathスクリプトがJREおよびJDKディレクトリの前のPATHシーケンスで実行される必要があるためです。現在のバージョンは整理されます。
このディレクトリを%PATH%
変数のHEADに置きます。
C:\ProgramData\Oracle\Java\javapath
[またはデスクトップ上のどこにでも]
だからあなたのパスはこのようになります - 例えば私の物
PATH=C:\ProgramData\Oracle\Java\javapath;<other path directories>;E:\Program Files\Java\jdk1.8.0_77\bin;E:\Program Files\Java\jre1.8.0_77\bin
そうすると、正しい現在のバージョンが表示されます。
C:\>Java -version
Java version "1.8.0_77"
Java(TM) SE Runtime Environment (build 1.8.0_77-b03)
Java HotSpot(TM) 64-Bit Server VM (build 25.77-b03, mixed mode)
私の経験:
私はWindowsを使っています8.1そして私は1.8から1.7にJavaのバージョンをダウングレードしました、そして私は同じエラーを得ていました。
エラー:レジストリキー 'Software\JavaSoft\Jaの値は' 1.7 'ですが、' 1.8 'が必要です
C:\ Windows\System32からJava.exe、javaw.exeおよびjavaws.ex eを削除しましたフォルダとそれは私のために働いた。
私は同じ問題を抱えています。私のために働いた簡単な解決策はJRE/JDK
のためにPATH
のエントリーを再配置することです。この問題はインストールによっていくつかの実行可能ファイルがJRE 8
ディレクトリに置かれたSystem32 or SysWOW64
をインストールした後に現れ始めました、これらの実行可能ファイルはめちゃくちゃになっています。問題を解決するには
JDKホームを指す環境変数をJava_HOME
として作成します。
set Java_HOME=C:\Progra~1\Java\jdk1.8.0_45
PATH環境変数の先頭にエントリ%Java_HOME%\bin
を置きます。 PATH
の既存の値を追加します。例えば:
path=C:\Program Files\Java\jdk1.8.0_45\bin;%path%
エラーは明白です...
エラー:レジストリキー 'Software\JavaSoft\Java Runtime Environment'\CurrentVersionの値は '1.8'ですが、 '1.7'が必要です。
エラー:Java.dllが見つかりませんでした
エラー:Java SE Runtime Environmentが見つかりませんでした。
... Java.exe
> CurrentVersion
レジストリキーの値が1.8であるのに、HKEY_LOCAL_MACHINE\Software\JavaSoft\Java Runtime Environment
1.7実行可能ファイルを使用しようとしています。
提案された解決策の繰り返しのテーマは、エラーが設定エラーであることです。エラーは、さまざまな方法で解決できます(たとえば、ユーザー環境の再構成、または指を交差させたJava実行可能ファイルの削除、ユーザーJava.exe
に別のフォールバック%PATH%
があり、フォールバックJava.exe
が正しい実行可能ファイルであることを期待)。
正しい解決策は、あなたが達成しようとしているものによって異なります。 ..」
ノート:
- ユーザー
Java.exe
で利用可能な%PATH%
実行可能ファイルはC:\Windows\System32
にインストールされます。- インストールはユーザーを更新しません
%PATH%
HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Runtime Environment
>CurrentVersion
という文字列レジストリエントリが(特に)1.7
という値で作成されます。
ノート:
- ユーザーの
%PATH%
は、最初のエントリとしてC:\Program Files (x86)\Common Files\Oracle\Java\javapath
を含むように更新されます。HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Runtime Environment
>CurrentVersion
文字列レジストリエントリの値が1.8
に更新されます
users %PATH%
環境変数を更新し、C:\Program Files (x86)\Common Files\Oracle\Java\javapath
を削除します
新しいコマンドでプロンプトJava -version
エラー:レジストリキー 'Software\JavaSoft\Java Runtime Environment'\CurrentVersionの値は '1.8'ですが、 '1.7'が必要です。
エラー:Java.dllが見つかりませんでした
エラー:Java SE Runtime Environmentが見つかりませんでした。
OPの解決策 https://stackoverflow.com/a/29769311/1423507 「指を交差させて、ユーザーJava.exe
にフォールバック%PATH%
が存在し、フォールバック実行可能ファイルが正しいことを祈る」というアプローチです。エラー。再現手順を考えると、Java.exe
からjavaw.exe
、javaws.exe
、C:\Windows\System32
実行ファイルを削除すると(私の場合のみ)、ユーザーJava.exe
に%PATH%
が存在しなくなり、エラー'Java' is not recognized as an internal or external command, operable program or batch file.
が発生し、それほど解決できません。
答え https://stackoverflow.com/a/35775493/1423507 and https://stackoverflow.com/a/36516620/1423507 仕事しかしあなたは使用に戻ってJava.exe
1.7(例:CurrentVersion
レジストリキーの値を、ユーザーのJava.exe
にあるバージョンの%PATH%
と一致するように更新します)。
Java.exe
1.8がユーザーの%PATH%
で最初に見つかったことを確認します(これを行う方法は無関係です)。
C:\Program Files (x86)\Common Files\Oracle\Java\javapath
を含むようにユーザー%PATH%
を更新します(そのディレクトリの実行ファイルが正しいことを確認してください)。%PATH%
を更新します(set PATH="C:\Program Files\Java\jre1.8.0_191\bin;%PATH%"
)%PATH%
を更新します(set Java_HOME="C:\Program Files\Java"
; set JRE_HOME=%Java_HOME%\jre1.8.0_191
; set PATH=%JRE_HOME%\bin;%PATH%
)Java.exeファイルは削除しませんでしたが、最初のエントリとして%Java_HOME%\ binを反映するように、 "path"変数のシステムの順序を変更しました。それがトリックでした。
最新の自動Javaアップデートの後、コマンドプロンプトからJavaを実行できませんでした。
私のパス変数は 'C:\ ProgramData\Oracle\Java\javapath;'でした。
「C:¥ProgramData¥Oracle¥Java¥javapath;」にcdできませんでした。存在しないため、コマンドプロンプトウィンドウから。
C:\ ProgramData\Oracle\Java\javapathを削除しました。パス変数から、「C:\ Program Files\Java\jre1.8.0_141\bin;」に置き換えます。
この問題に対する私の解決策は、上記すべてを読んで試してみたことです。
私の場合、私はJavaをダウングレードしてApache ActiveMQ
のプリントアウトを使用しようとしました。すべてのJavaバージョンをアンインストールし、レジストリをクリーンアップした後、私は同じエラーを受けていました
エラー:レジストリキー 'Software\JavaSoft\Java Runtime Environment'\CurrentVersionの値は '1.7'ですが、 '1.8'が必要です。
私の場合は、環境変数に行き、パスを編集し、javapathの場所(C:\ProgramData\Oracle\Java\javapath
)を開く必要がありました - JRE8バージョンから残っていた3つのファイル(Java.exe
、javaw.exe
、javaws.exe
).
この事実を確認した後、私は単にC:\Windows\SysWOW64
ディレクトリからの同じファイルでそれらを切り替えました(それらはJRE7
バージョンからのものでした)そしてそれはすべて完全にうまくいきました。
私はwin7 64bitで。
フォルダC:\Program Files\Java\jre1.8.0_91\bin to the C:\Windows\System32.
にあるJava.exe javaw.exe javaws.exeをコピーします。
次にcmdを開き、Java -versionと入力します。
C:\Users\HEcom>Java -version
Java version "1.8.0_91"
Java(TM) SE Runtime Environment (build 1.8.0_91-b14)
Java HotSpot(TM) 64-Bit Server VM (build 25.91-b14, mixed mode)
上記の前に、レジストリのCurrentVersionが1.8であることを確認してください。
[スタート]メニューで「regedit」と入力してレジストリエディタを開きます。
Jdkフォルダを変数Java_HOMEに定義し、変数パスに%Java_HOME%を追加する必要があります。
フォルダ内のJava.exe、javaw.exe、およびjavawsの名前を削除または変更しますsystem32
cmd.exeを実行します。Java-versionは、Java_HOMEで定義した新しいバージョンを使用します。
aribeiroの答えが私のために働いています - 小さな変更を加えて
まずJava 7をインストールする必要があります。インストールしていない場合は、最初にインストールしてください(Linux、Mac、yum、apt、homebrewを使用しているのかわかりません。自分で見つけてください)
Java 7をすでにお持ちの場合は、次のコマンドを実行してください。
echo $Java_HOME
出力は次のようになります:/usr/lib/jvm/Java-8-Oracle
。このディレクトリの近くに、Java-7
ディレクトリがあります。見つけたら、実行します
export Java_HOME=${Java-7-dir}
ディレクトリパスで{Java-7-dir}
を変更してください。それからあなたはあなたのコマンドを実行することができます。
これは一時的な解決策にすぎません。恒久的に変更するには、上記のコマンドを~/.bashrc
ファイルに追加してください。
編集:Windowsを使用している場合、環境変数Java_HOME
をJava 7のインストールディレクトリパスに変更します。
Java SE Runtime Environment JRE 7をインストールするだけです。
これで、「コントロールパネル」の「プログラムと機能」に「Java 7」と「Java 8」が表示されます。
それは私のために働きました。
Talend Open Studio 64ビット版と同じ問題を共有してくれた私の短い貢献。
これを解決するには、c:\ ProgramData\Oracle\Java\javapath \にあるすべてのJava.exe、javaw.exe、およびjavaws.exeファイルを削除します。
そしてTOSは64ビットバージョンで正しく始まります!
この問題に対する1つの可能な解決策は、Sencha CMDフォルダにこのスレッドで推奨されているbatファイルを追加することです Sencha Cmd 5 + Java 8 Error 。
このコードでは、バッチの名前は "sencha.bat"になります。
@echo off
set Java_HOME=<YOUR JDK 7 HOME>
set PATH=%Java_HOME%\bin;%PATH%
set SENCHA_HOME=%~dp0
Java -jar "%SENCHA_HOME%\sencha.jar" %*
Senchaフォルダに置いてください。
C:\Users\<YOUR USER>\bin\Sencha\Architect\Cmd\6.2.0.103
次のステップは、PATHEXT環境変数を変更することです。影響が最小限になるようにユーザー変数を変更します。
から変更
COM;.CMD;.EXE;.BAT;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC
に
COM;.BAT;.EXE;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC
アイデアは、Windowsが.exeファイルよりも.batファイルを最初に実行するようにすることです。 senchaフォルダには既に "sencha.exe"ファイルがあるため、これは重要です。コマンドラインで「sencha」と入力すると、「sencha.bat」の代わりに「sencha.exe」が実行されます。
パーミッションに関しては非常に制限があるため、これが唯一の解決策でした。
それは "パス"にあることをjreバージョン1.8から別のJava.exeがどこかに存在する場合それが可能であればそれを見つけて削除する必要があります。 jreが必要なアプリケーションの場合は、ユーザーtempdataにあります。
システムパスから削除します。
%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem
そして、それは1.7から1.8へのJavaバージョンのアップグレードにおける問題を解決するでしょう
私のシステム: - Windows 8.1
Java環境
最近Oracle 11g XEをインストールし、コマンドプロンプトで「Java」コマンドにアクセスすると、前述のエラーメッセージが表示されました。
私は自分の環境変数をチェックし、(以前の回答で述べたように)シーケンスをチェックし、私のシステムのPATH変数が最初のエントリとして以下のエントリを持っていることを検出しました。
C:\ OracleDatabase\oraclexe\app\Oracle\product\11.2.0\server\bin;
順序を変更し、JDKパスを最初のエントリとして定義しました。
同じ変更をUser Variable:Pathにも複製しました。
上記の作業を終えた後、私はコマンドプロンプトを再起動し、Java -versionコマンドを実行し、問題は消えました。現在のバージョンとしてJava 8が表示されていました。
Javaを実行している一部のWindowsサービスでこのエラーが発生しました。最後に、自分のマシンで他のバージョンのJavaをアンインストールしようとしました。
1.8を残しただけで、すべてが機能するようになりました。