helloworld.jar という名前のJARファイルがあります。実行するために、コマンドラインウィンドウで次のコマンドを実行します。
Java -jar helloworld.jar
これはうまく機能しますが、ダブルクリックで実行するにはどうすればよいですか。ソフトウェアをインストールする必要がありますか?
最も簡単な方法は、おそらくJava Runtime Environment(JRE)をアップグレードまたは再インストールすることです。
またはこれ:
C:\Program Files\Java\j2re1.4.2_04\bin\javaw.exe" -jar "%1" %
のようなものを表示する必要があります(注: 'javaw'で始まる部分はそれとまったく同じである必要があります)を使用して、すべてのダイアログが閉じるまでOKボタンを押します。これはここから盗まれた: http://windowstipoftheday.blogspot.com/2005/10/setting-jar-file-association.html
Windows VistaまたはWindows 7では、 手動ファイル関連付けエディタ は削除されました。
最も簡単な方法は Jarfix を実行することです。これは、小さいながらも強力なフリーウェアツールです。それを実行するだけで、あなたのJavaアプリは戻ってきました。
.jarファイルを配布して他の人のWindowsコンピュータで実行可能にする必要がある場合は、Promptコマンドで次のような単純な.batファイルを作成できます。
Java -jar MyJavaTool.jar
.batファイルを.jarファイルと同じディレクトリに配置します。
Example.jarというjarファイルがある場合は、次の規則に従います。
notepad.exe
を開くJava -jar Example.jar
.bat
で保存してください.jar
ファイルがあるディレクトリにコピーしてください。.jar
ファイルを実行しますこれによる興味深い副作用は、プロンプトで実行可能なjarファイルを起動するときに問題を引き起こします。
試してみると(コマンドプロンプトで):
jarfile.jar parameter
喜ばしいことではありません。これは次のように翻訳されているからです(これはうまくいきません)。
javaw.exe -jar jarfile.jar parameter
ただし、次のコマンドは機能します。
Java.exe -jar jarfile.jar parameter
上記のようにファイルマネージャで関連付けを変更すると、次のようになります。
"C:\Program Files\Java\j2re1.4.2_04\bin\Java.exe" -jar "%1" %*
それからあなたはタイプすることができます:
jarfile.jar parameter
コマンドプロンプトで、それは今動作します!
編集:(ただし、フォームベースの(非コンソール)Javaアプリケーションを実行すると、黒いコンソールウィンドウが表示されるので、これは理想的な解決策ではありません)
これらのjarファイルをウィンドウ内でダブルクリックして実行した場合、パラメータは渡されないので、Javaコードはスタックオーバーフロー例外を処理し、最後に「キーを押す」機能を含める必要があります。
ウィンドウにパラメータを渡すには、ターゲット行にパラメータを含むjarファイルへのショートカットを作成する必要があります(ショートカットを右クリックしてプロパティを選択します)。方法。
ここでは単一の一貫した解決策はありませんが、他のコンソールアプリケーションでも同じ問題があります。
あなたがそれに適切なコマンドラインを持つ.batファイルからexeファイルを作成するために使用できる "exeへのバット"と呼ばれるウィンドウズフリーウェアアプリケーションがあります。あなたはまた、このアプリケーションでexeファイルにjarファイルを埋め込むことができ、それが実行を終了したときにそれをクリーンアップするので、これはよりエレガントな解決策かもしれません。
最初にcmdにパスを設定します(コマンドプロンプト)。
set path="C:\Program Files\Java\jre6\bin"
それからタイプする
Java -jar yourProgramname.jar
Windowsの場合XP * あなただけの2 シェル コマンドが必要です。
C:\>ftype myjarfile="C:\JRE1.6\bin\javaw.exe" -jar "%1" %*
C:\>assoc .jar=myjarfile
myjarfile
の代わりにJREの正しいパスとあなたが望む任意の名前を使うことは明らかです。
現在の設定を確認するだけです。
C:\>assoc .jar
C:\>ftype jarfile
今回はjarfile
の代わりに、もしあれば最初のコマンドによって返された値を使用します。
* Windows 7ではテストされていません
他のすべての提案に加えて、考慮すべき点がもう1つあります。 helloworld.jarはコンソールプログラムですか?もしそうなら、私はあなたがダブルクリック可能なjarファイルにそれを作ることができるだろうとは思わない。コンソールプログラムは、入力と出力に通常のcmd.exeシェルウィンドウを使用します。通常、jar "launcher"はjavaw.exeにバインドされており、コマンドシェルウィンドウは作成されません。
ユーザーが自分のPCで変更を加える必要がない方法があります。 Runtime.getRuntime.exec()によりcmd.exeを起動し、その中でコマンドを実行することができます。そのため、ユーザーが.jarファイルをクリックしたときに、Javaプログラムがコマンドプロンプトで自分自身を実行することが可能です。
public static void main(String[] args) throws IOException {
if(args.length == 0) {
Process p = Runtime.getRuntime().exec("cmd.exe /c start Java -jar " + (new File(NameOfClass.class.getProtectionDomain().getCodeSource().getLocation().getPath())).getAbsolutePath() + " cmd");
} else {
//code to be executed
}
}
私はWindows 7 x 64を実行していて、これらの修正のどれも使用することができませんでした。
これは私にとっては功を奏した。
http://thepanz.netsons.org/post/windows7-jar-file-association-broken-with-nokia-ovi
実行可能な.batファイルを含むダウンロード可能なアーカイブがありますが、実際のjavaw.exeのパスを確認してください。
あなたはいくつかのことをチェックしたいです。これが自分のjarファイルである場合は、マニフェストでMainクラスを定義したことを確認してください。コマンドラインから実行できることがわかっているので、Windowsショートカットを作成してプロパティを変更することもできます(見回す必要があります。Windowsマシンはありません)開いたときに実行されるコマンドは、前述のJava -jarコマンドです。
他のこと:何かが混乱しないのであれば、とにかくうまくいくはずです。 Javaが.jar拡張子に関連付けられていることを確認してください。
Regeditで、HKEY_CLASSES_ROOT\Applications\Java.exe\Shell\open\command
を開きます
左側のデフォルトをダブルクリックし、Java.exe
パスと "%1
"引数の間に-jarを追加します。
私は、Windows 10でも同じ問題を抱えていました。「 helloworld.jar 」の righ-click を使用して properties に移動し、 change ボタンをクリックしてください「」で開き、「 このPCで別のアプリを探す 」を選択します。 「 Open with ... 」ダイアログボックスで、PCのJavaフォルダの場所に移動して対応するjdkフォルダを開き、次に bin フォルダを開いて「 javaw.exe 」を選択します。 " そこから。それから、次回あなたの " helloworld.jar "が通常の方法で開きます。
通常のJavaの場所の例: " C:¥Program Files(x86)¥Java¥jdk1.8.0_111¥bin "。
残念ながら、最近のWindows版でMicrosoftが高度なファイルの関連付けダイアログを削除したのと同じくらい簡単ではありません。 - 新しいバージョンのWindowsでは、.jarファイルを開くのに使用されるアプリケーションだけを指定することができます。
Windowsで.jarファイルを開くには2つのステップが必要です。
コントロールパネルを開き、[デフォルトのプログラム] - > [アソシエーションの設定]を選択します。そこに.jar拡張子( 実行可能なJARファイル )を見つけ、この拡張子を開くためのデフォルトプログラムとしてJavaを選択します。おそらく " Java Platform(SE) "と表示されます。もっと速い方法は、おそらく.jarファイルを右クリックし、そして「変更...」ボタンをクリックして関連するプログラムを変更することです。
今すぐregeditを開き、HKEY_CLASSES_ROOT\jarfile\Shell\open\command
キーを開きます。幸いなことに、(Default)
の値にはパラメータを指定することができます。私のWindowsシステムでは、C:\app\32\jre7\bin\javaw.exe" -jar "%1" %*
のように見えますが、ほとんどの場合、次の文字列です。C:\Program Files\Java\jre7\bin\javaw.exe" -jar "%1" %*
ノート:
Java.exe
を使用しないでください。PreScript :あなたのプロンプトが現れてすぐに消えてしまうのは、あなたのプログラムが実行されて自動的に終了するからです。スキャナーを最後に置いて終了してみてください。そうすると、終了する前にプロンプトが入力を待ったままになります。 (または多分遅延を使用)
Cmdから.jarを実行しても問題なく動作していましたが、ダブルクリックしても何も起こりませんでした。
解決方法:任意のテキストエディタを開き、コマンドラインを入力します。Java -jar Example.jarファイルを.batファイルとして保存します。必要な出力を得るためにこのbatファイルを実行してください。
一歩進めて、Bat To Exe Converterのような簡単なGUIツールを使って、このbatファイルをexeファイルに変換することができます。
今すぐあなたは誰でも使うことができる.exeファイルの配布としてあなたの.jarを共有できます。 (特に.jarファイルと.batファイルの原因である.batは、cmdプロンプトにすぎません)(論理的な感じ方)
私は開発や学習についてはかなり新しいです。コミットした場合は、間違いをお許しください。提案は大歓迎です。
クリック/ダブルクリックでjarファイルを実行するもう1つの方法は、ファイル名の前に "-jar"を追加することです。たとえば、ファイルの名前をMyJar.jar
から-jar MyJar.jar
に変更します。
もちろん、.class
ファイルはJava.exe
に関連付けられている必要があります。これはすべてのケースでうまくいくとは限りませんが、私にとってはほとんどの場合うまくいきました。
Jarファイルをダブルクリックして実行する必要がある場合は、 " Runnable JAR "として作成する必要があります。 IDEを使えば簡単にできます。
Eclipseを使用している場合は、次の手順に従ってください。
To create a new runnable JAR file in the workbench:
1.From the menu bar's File menu, select Export.
2.Expand the Java node and select Runnable JAR file. Click Next.
3.In the Opens the Runnable JAR export wizard Runnable JAR File Specification page, select a 'Java Application' launch configuration to use to create a runnable JAR.
4.In the Export destination field, either type or click Browse to select a location for the JAR file.
5.Select an appropriate library handling strategy.
Optionally, you can also create an ANT script to quickly regenerate a previously created runnable JAR file.
より詳しい情報はEclipseのヘルプページにあります: _ link _
メソッドはたくさんあります Windowsで.jarファイルを実行するための/。そのうちの一つはコマンドPromptを使用しています。
ステップ:
実際、私もこの問題に直面しました、私は自分のjarファイルのための.batランナーを作ることによってそれを回避しました
これがコードです:
class FileHandler{
public static File create_CMD_Rnner(){
int exitCode = -1625348952;
try{
File runner = new File(Main.batName);
PrintWriter printer = new PrintWriter(runner);
printer.println("@echo off");
printer.println("title " + Main.applicationTitle);
printer.println("Java -jar " + Main.jarName + " " + Main.startCode );
printer.println("PAUSE");
printer.flush();
printer.close();
return runner;
}catch(Exception e){
System.err.println("Coudln't create a runner bat \n exit code: " + exitCode);
System.exit(exitCode);
return null;
}
}
}
次に、Your Mainアプリケーションクラスでこれを行います。
public class Main{
static String jarName = "application.jar";
static String applicationTitle = "Java Application";
static String startCode = "javaIsTheBest";
static String batName = "_.bat";
public static void main(String args[]) throws Exception{
if(args.length == 0 || !args[0].equals(startCode)) {
Desktop.getDesktop().open(FilesHandler.create_CMD_Rnner());
System.exit(0);
}else{
//just in case you wanted to hide the bat
deleteRunner();
// Congratulations now you are running in a cmd window ... do whatever you want
//......
System.out.println("i Am Running in CMD");
//......
Thread.sleep(84600);
}
}
public static void deleteRunner(){
File batRunner = new File(batName);
if(batRunner.exists()) batRunner.delete();
}
}
このコード(私のコード)はjarファイルでのみ動作します。クラスファイルでは動作しません。
jarファイルは、Stringと同じ名前でなければなりません。 "jarName"はMainクラスです。
ステップ:
1.)GoogleでJava SE Runtime Environmentを検索してください: https://www.google.com/search?q=Java+SE+Runtime+Environment
2.)コンピュータに適切なバージョンをインストールします
Javaファイルの作成にEclipseを使用している場合は、それを実行可能なjarファイルとしてエクスポートすることを選択できます。私は自分のプログラムでこれをしました、そして私は瓶をクリックすることができます、そしてそれはそのように実行されます。これはos xと同様に両方のウィンドウで動作します。
.bat
ファイルを作成します。
start javaw -jar %*
そしてこのデフォルトの.jar
ファイルで.bat
を開くためにapp defaultを選択してください。
.jar
ファイルを起動するとcmd
を閉じます。
コンパイル用:
javac -cp ".;./mysql-connector-Java-5.0.8.jar;mybatis-3.0.1.jar;ibatis-2.3.0.677.jar" MainStart.Java
実行するために:
Java -cp ".;./mysql-connector-Java-5.0.8.jar;mybatis-3.0.1.jar;ibatis-2.3.0.677.jar" MainStart
Start.batを作ることだけが私のために働きました。
テキスト文書を開いて入力してください。 Java -jarあなたの名前がなんであれ/jar
実行したい.jarファイルと同じフォルダにstart.batとして保存します。そして実行します。コウモリ