Java Home libディレクトリに拡張機能をコピーする必要があります。 しかし私の問題は、WindowsとMac OS上でjava homeを見つけることです。 このディレクトリは、各idkアップデートで変更されます。 環境変数で修正することができますか? よろしくお願いいたします。AS3 - JAVAホームパスを取得
答えて
Environment Variables
で修正できますか?
あなたはアプリのユーザーは実際が自分のアカウントの環境設定にJAVA_HOME
パスを追加していることを確認することができますか?彼らがチュートリアルに従わなければ、あなたのアイデアは何も見つかりません。
しかし、私の問題は、WindowsとMac OSで
JAVA_HOME
を見つけることです。
端末コマンドを使用してJAVA_HOME
を見つけることができます。
Mac OSの:(source:未テストなしマック以降で利用可能)
/usr/libexec/java_home
のWindows OS:(cmd.exe
コマンドラインを使用して)
オプション1:通常set
新しいエントリを追加環境変数はになりますが、パラメータなしで使用すると、既存の環境変数が一覧表示されます。
JAVA_HOME=C:\Program Files\Java\jre1.8.0_102
JDK_HOME=C:\Program Files\Java\jdk1.8.0_102
JRE_HOME=C:\Program Files\Java\jre1.8.0_102\jre
オプション2:私はを含む長いテキストの結果得られ
set
は私の1件の結果を与える
for %i in (java.exe) do @echo. %~$PATH:i
(システムの現在のJava.exe
パスを取得します) :C:\Program Files\Java\jre1.8.0_102\bin\java.exe
オプション3:Windowsの場合、私は最良の選択肢は、ユーザーのcurrentVersion
のWindows レジストリをチェックし、その具体的なCURRENTVERSIONのJavaHome
を確認することだと思います。
(A)は、Windowsが使用するJava 現在のバージョンを確認...
REG QUERY HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\ /v "CurrentVersion" /s
ノート:それとも、次のステップ(b)のための正しい番号を取得するためにjava -version
を行います。
(b)は上記見つかったバージョン(例:1.8 または1.8.0_102)に基づいたJava ホームパスを確認...
REG QUERY HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\ /v "JavaHome" /s
実践cmd.exe
ウィンドウの上記のオプションを使用すると、出力が簡単に表示されます。
その後、AS3コードでは、Regular Expression
またはString
関数を使用して、必要な番号またはディレクトリパスを抽出することができます。
オプション++:その他のオプションは、(aphabeticalあるとすべてサブフォルダを検索)ファイルの場所(フォルダ)のためc:\
ドライブを検索するwhere /r c:\ java.exe
を使用しますが、大きなドライブに遅くなることがあります。あなたはとても以下の環境変数(レジストリではない)について尋ね
は、Windows用のオプション1ことを行うための簡単な例です。
(PS:あなたはに関するエラーが出る場合 IDEでテストするとき、あなたがその後、エクスポート実行時のバージョンのため、あなたが未なければならない、あなたのAIR設定でのみ「拡張デスクトップ」をカチカチ「ネイティブプロセスがサポートされていません」それをチェックして、「デスクトップ」のみにチェックをつけてください)。
WindowsでCMD.exeをサイレントに開いてset
コマンドを渡した後、返されるテキスト出力を受け取る、テスト可能なコード例です。コードを短縮することができます。
package {
import flash.display.MovieClip;
import flash.events.*;
import flash.errors.*;
import flash.desktop.NativeProcess;
import flash.desktop.*;
import flash.filesystem.File;
import flash.utils.ByteArray;
public class Java_Get_Path_v3 extends MovieClip
{
private var NProcessExe:File;
private var NProcess :NativeProcess; //external Process (eg: notepad.exe)
private var nativeProcessStartupInfo :NativeProcessStartupInfo;
private var NProcess_Args :Vector.<String> = new Vector.<String>(); //Process startup options
private var str_CMD_Output :String = "";
private var str_Java_Home :String = "";
private var str_JDK_Home :String = "";
private var str_JRE_Home :String = "";
private var temp_Int :int = -1;
public function Java_Get_Path_v3()
{
//# 1) setup Native Process (Command Line runs in background (no window))
createNativeProcess();
//# 2) get Java "Home" path from Windows via "Environment Variables";
get_Java_Path(); //is via stdout
}
private function createNativeProcess():void
{
if (NativeProcess.isSupported)
{
trace("## doing FUNCTION : createNativeProcess()");
var pathToEXE:String = "c:/windows/system32/cmd.exe";
NProcessExe = File.applicationDirectory.resolvePath(pathToEXE);
if (NProcessExe.exists)
{
//# initialise Process
NProcess = new NativeProcess();
//# add Process listeners for events
NProcess.addEventListener(ProgressEvent.PROGRESS, STD_onOutputData);
NProcess.addEventListener(ProgressEvent.STANDARD_OUTPUT_DATA, STD_onOutputData);
NProcess.addEventListener(ProgressEvent.STANDARD_ERROR_DATA, STD_onErrorData);
NProcess.addEventListener(IOErrorEvent.STANDARD_OUTPUT_IO_ERROR, STD_onIOError);
NProcess.addEventListener(IOErrorEvent.STANDARD_ERROR_IO_ERROR, STD_onIOError);
}
else
{ trace("The specified .exe file was not found"); }
}
else //# if NOT suppoNativeProcess.
{
trace("Native Process not supported in this mode (use only \"Extended Desktop\" when debugging)");
}
}
private function get_Java_Path():void
{
//# use to get Java Home path
NProcess_Args[0] = ("\/c" + "set");
//# use to get Java version
//NProcess_Args[0] = ("\/c" + "java -version");
//# start the Native Process (eg: silent running of CMD.exe)
//# triggers :::: public function STD_onOutputData
nativeProcessStartupInfo = new NativeProcessStartupInfo();
nativeProcessStartupInfo.executable = NProcessExe;
nativeProcessStartupInfo.arguments = NProcess_Args;
NProcess.start(nativeProcessStartupInfo);
}
private function update_String_with_Path():void
{
trace("## doing FUNCTION : update_String_with_Path()");
//trace("str_CMD_Output : " + str_CMD_Output);
temp_Int = str_CMD_Output.indexOf("JAVA_HOME"); //trace("temp_Int :" + temp_Int);
str_Java_Home = str_CMD_Output.substring(temp_Int, (str_CMD_Output.indexOf("\n", temp_Int)));
temp_Int = str_CMD_Output.indexOf("JDK_HOME"); //trace("temp_Int :" + temp_Int);
str_JDK_Home = str_CMD_Output.substring(temp_Int, (str_CMD_Output.indexOf("\n", temp_Int)));
temp_Int = str_CMD_Output.indexOf("JRE_HOME"); //trace("temp_Int :" + temp_Int)
str_JRE_Home = str_CMD_Output.substring(temp_Int, (str_CMD_Output.indexOf("\n", temp_Int)));
trace("==================================");
trace("str_Java_Home : " + str_Java_Home);
trace("str_JDK_Home : " + str_JDK_Home);
trace("str_JRE_Home : " + str_JRE_Home);
}
public function STD_onOutputData(event:ProgressEvent):void
{
trace("## doing FUNCTION : STD_onOutputData(...)");
if (NProcess && NProcess.running)
{
if (NProcess.standardOutput.bytesAvailable > 0)
{
trace("got bytes in... STD OUT : ");
//# Receive CMD.exe output (UTF bytes) into String...
str_CMD_Output = NProcess.standardOutput.readUTFBytes(NProcess.standardOutput.bytesAvailable);
trace("str_CMD_Output.length : " + str_CMD_Output.length + " characters");
trace("## end of... STD_Out ::: ");
update_String_with_Path();
}
}
}
public function STD_onErrorData(event:ProgressEvent):void
{
trace("## doing FUNCTION : STD_onErrorData(...)");
if (NProcess.running == true)
{
//# sometimes Native Process output is in std-Error instead of std-Output
//# (is decided by the running .EXE file)
trace("## end of... STD_Error ::: ");
}
}
public function STD_onIOError(event:IOErrorEvent):void
{ trace(event.toString()); }
private function STD_errorHandler(e:AsyncErrorEvent):void
{ trace('ERROR: ' + e.text); }
} //end Class
} //end Package
- 1. ドッカーコンテナジェンキンス - ホームパスにアクセス
- 2. AS3 - Googleアナリティクスのステータスを取得する
- 3. as3のテキストの概要を取得
- 4. AS3のクラス名でインスタンスを取得
- 5. AS3で色のバリエーションを取得する
- 6. AS3 - MovieClipインスタンス名を取得onClick
- 7. AS3 - 文字列値を取得
- 8. Maven Javaのホームパス:\ bin、または\ binにしない
- 9. PhpStormはJavaホームパスを知っているプロファイルを使用していません
- 10. JavaをAS3に移植
- 11. Android Studioの「不明なSDKホームパス」
- 12. AS3 - 変数を使用してXMLListを取得
- 13. as3を使用してXMLから属性値を取得
- 14. AS3 SWFからページURLを取得して設定する
- 15. AS3で正確な文字/フォントメトリックを取得できますか?
- 16. as3サイズ変更されたムービークリップの幅を取得
- 17. AS3 - ズームジェスチャーはズーム方向を取得しますか?
- 18. Flash CS5 AS3 Flashvarsを取得できません
- 19. フラッシュAS3でDOCUMENT_ROOTを取得しますか?
- 20. Flex/as3:NetStreamオブジェクトから名前を取得する方法は?
- 21. AS3で現在のクラスとメソッドの名前を取得
- 22. AS3でXMLからURLリンクを取得し、
- 23. as3配列のpopメソッドと同等のものを取得
- 24. Flash AS3:FacebookのLike CountのようなFacebookを取得
- 25. AS3 - ボタンのインスタンス名とパスを取得する
- 26. JAVA - 取得HTTPリクエストヘッダ
- 27. 取得値は、java
- 28. as3でJavaクラスを呼び出す
- 29. JavaでLinkedListインスタンスを取得
- 30. Java:ジェネリック型を取得
IDKのアップデートとは? ** JDK **(Javaアプリケーションのコンパイル用)または** JRE **(Javaアプリケーションの実行用)のパスを探していますか? **あなたが試したことを**表示しないことによって**意味が分かります**知っておく必要がある情報が何もわからないので、答えは長くなります**とにかくあなたに役立つことを願っています。 –