.mfファイルを作成して、
jar cvfm hogehoge.jar *.class を作成した場合、ファイルをダブルクリックすれば、そのプログラムを実行できますよねぇ。そこで、質問なんですが、この.jarファイルを他のJDKの入っていないマシン上で実行する事はできるのでしょうか?
ちなみに、僕の友達にこの.jarファイルを実行してもらったときには、できなかったそうです。どうにかして、実行をさせる方法はないのでしょうか?

どうか、教えてください。お願いします。

このQ&Aに関連する最新のQ&A

A 回答 (1件)

JAVAのプログラミング環境がない場合にはJAVATM 2 RUNTIME ENVIRONMENTが必要です。

↓から落としてください。

参考URL:http://java.sun.com/products/jdk/1.2/ja/jre/inde …
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aと関連する良く見られている質問

QJDK .jarファイルの実行環境について

JAVAを勉強しようとしている初心者です。

書籍を購入しその中に.jarファイルでできた学習シートなるものがあり実行しましたが、
実行してもなんの反応もありませんでした。
出版社に問い合わせたところ、ダウンロードの過程でファイルが壊れたのかもしれないと
別途メールに添付していただいたファイルを実行しましたが同じ結果でした。

ネットで検索してみたところ、関連付けが原因なのではということで、
"C:\Program Files\Java\jdk1.7.0\bin\javaw.exe" -jar %1
と設定しましたが、これも同じ結果でした。

なんとなく、”日本語13文字.jar”となっていたファイル名を”a.jar”と変更しc:\にコピーして
実行したところダブルクリックで実行できるようになりました。
結果、
デスクトップの場合、”a.jar”および”日本語13文字.jar”は実行できません。
c:\の場合、”日本語13文字.jar”は実行できませんが”a.jar”は実行できます。

上記のようにすればとりあえずOKなのですが、原因がわかりません。
JDKの環境設定がなにかおかしいと今後の学習や開発に問題が生じないかと思い質問さ
せていただきました。
原因が予測できる方がいらっしゃいましたらご教授お願いします。

以下が環境情報です。

Windows XP Professional Version 2002 Servise Pack 3

java version "1.7.0"
Java(TM) SE Runtime Environment (build 1.7.0-b147)
Java HotSpot(TM) Client VM (build 21.0-b17, mixed mode, sharing)

JDKは、
http://www.oracle.com/technetwork/java/javase/downloads/java-se-jdk-7-download-432154.html
から
jdk-7-windows-i586.exe
をダウンロードしインストールしました。

長文でわかりにくい文章になってしまいましたが、よろしくお願いします。

JAVAを勉強しようとしている初心者です。

書籍を購入しその中に.jarファイルでできた学習シートなるものがあり実行しましたが、
実行してもなんの反応もありませんでした。
出版社に問い合わせたところ、ダウンロードの過程でファイルが壊れたのかもしれないと
別途メールに添付していただいたファイルを実行しましたが同じ結果でした。

ネットで検索してみたところ、関連付けが原因なのではということで、
"C:\Program Files\Java\jdk1.7.0\bin\javaw.exe" -jar %1
と設定しましたが、これも同じ結果でした。

...続きを読む

Aベストアンサー

No.4の者です。
追加で開発環境を書きます。
Windows XP Home Edition Version 2002 Servise Pack 3
jdkはjdk1.7.0を使っていて、
jreはjre7を使っています。

QclassファイルとJARファイルで実行した出力が異なる

Javaのコマンドラインツールです。

CLASSファイルのままで実行
C:\> java -classpath .;mail.jar;activation.jar Mailx
すると正常な出力が得られるプログラムをJARファイルにして
C:\> jar xvf activation.jar
C:\> jar xvf mail.jar
C:\> jar cfm Mailx.jar Mailx.mf *.class com javax
C:\> jar tvf Mailx.jar
実行
C:\>java -classpath Mailx.jar Mailx
すると、正常な出力が得られなくなり、メールアドレスが出力されるはずが、メモリのアドレスのような値が出力
 javax.mail.util.SharedByteArrayInputStream@1bf52a5
されるようになります。

なぜなのでしょうか?

<Mailx.mf>
Manifest-Version: 1.0
Main-Class: Mailx

Javaのコマンドラインツールです。

CLASSファイルのままで実行
C:\> java -classpath .;mail.jar;activation.jar Mailx
すると正常な出力が得られるプログラムをJARファイルにして
C:\> jar xvf activation.jar
C:\> jar xvf mail.jar
C:\> jar cfm Mailx.jar Mailx.mf *.class com javax
C:\> jar tvf Mailx.jar
実行
C:\>java -classpath Mailx.jar Mailx
すると、正常な出力が得られなくなり、メールアドレスが出力されるはずが、メモリのアドレスのような値が出力
 javax.mail.util.SharedByteA...続きを読む

Aベストアンサー

mail.jar の中には、class ファイル以外に、META-INF の下にも設定ファイルのようなものが入っています。
activation.jar も同じです。
Mailx.jar を作成するときに、そのファイルが入らなかったため、設定がおかしくなったのかも知れません。
じゃぁ、META-INFの下を追加すればいいかというと、mail.jarとactivation.jarで、META-INFの中に同一名のファイルがあります。
なので、そのままひとつにまとめることは出来ないと思います。

QClass.forName("Hogehoge")の使い方

Class.forName("Hogehoge");は
動的にクラス(この例では"Hogehoge")をロードする場合に使用するとの説明が当Q&Aに記載されていましたが、次のコーディング例が有りました。

Hogehoge hh = Class.forName("Hogehoge").newInstance();

この例では、リターンを受けるクラス名が、動的に指定されていないため、具体的な利用方法が分かりませんでした。

よろしく、ご教示いただければ幸甚です。

Aベストアンサー

#2です。

>Menuにクラス名を登録しておき、指定されたMenuのクラスをスタートするような
ことを考えていました。

1つのメニュー項目(メニュー機能)に1つのクラスを対応させ、
選択されたメニュー項目に対応したクラスを実行するわけですね。


その場合、それらのクラスには全て「メニュー項目になる」という共通点がありますね?
その共通点をインターフェースとして定義しておきます。

interface IMenuItem
{
 /** メニュー項目の名前*/
 public String getCommandName();
 /** メニュー項目の実行*/
 public void execute();
}

全てこのインターフェースを実装して下さい。


また、実行時には

Class cls = Class.forName(className);
IMenuItem menuItem = (IMenuItem)cls.newInstance();
menuItem.execute();

となります。

#2です。

>Menuにクラス名を登録しておき、指定されたMenuのクラスをスタートするような
ことを考えていました。

1つのメニュー項目(メニュー機能)に1つのクラスを対応させ、
選択されたメニュー項目に対応したクラスを実行するわけですね。


その場合、それらのクラスには全て「メニュー項目になる」という共通点がありますね?
その共通点をインターフェースとして定義しておきます。

interface IMenuItem
{
 /** メニュー項目の名前*/
 public String getCommandName();
 /** メ...続きを読む

QJarやClassをTCP転送し転送先で実行する方法

JARファイルやCLASSファイルをTCP接続で転送し、転送先(受信側)のJVMで実行させる方法はありますか?転送先(受信側)で、クラスパスに入れてあるフォルダに一度ファイルとしてJARorCLASSをアウトプットするという方法もできそうですが、メモリ上で実行できる方法があれば教えてください。

Aベストアンサー

URLClassLoaderを使ってHTTPなどでダウンロードするのはどうでしょうか?

QJavaの実行可能圧縮ファイル、*.jarアイコンに画像を付ける。

Javaの実行可能圧縮ファイル、*.jarアイコンに画像を付ける。

eclipse3.5で実行可能jarをエクスポートして作成しています。
*.jarアイコンに画像を設定する方法を知りたいです。

ご存知の方がおられましたら教えてください。
よろしくお願いいたします。

Aベストアンサー

できないわ。
残念なことに。


人気Q&Aランキング

おすすめ情報