2009-08-26 5 views
4

私はWindowsで.jarファイルを生成しました。
私はその.jarファイルをUNIXで実行する必要があります。UNIX上で.jarファイルを実行するには?

私は(java -jar myJar.jar)そのコマンドを実行していますが、私がUNIXでJavaバージョン1.5.0.12を使用しています

java.lang.UnsupportedVersionError 

を与えています。

+0

その後、質問を変えてくれてありがとう。 – Bombe

答えて

5
java.lang.UnsupportedVersionError 

ローカルjava1.5で、JDK6でコンパイルさjarファイルを起動しようとしなければなりません。

は、次のいずれかが可能です。

javac -source 1.5 -target 1.5 -bootclasspath /path/to/jre1.5/lib/rt.jar 

はあなたかどうかを確認するために:

    は1.6
  • または

を使用してクラスを再コンパイルするには、UNIX上のあなたのJVMをアップグレード

  • 互換性のある1.5バイトコードを生成できます。

  • 21

    Windowsと同じです。

    java -jar file.jar 
    
    0
    • JDKやJREがインストールされていることを確認します。インストールされていない場合はインストールします。また、あなたはしている場合ので、JVMは、前方互換性がないということを覚えておいてください-jar file.jar

  • 設定JAVA_HOME =#JDK/JREのホーム・ディレクトリ
  • $ JAVA_HOME/binに/ javaのJDK 1.6を使用してjarファイルを作成しましたが、JDK 1.5では動作しません!

    この場合

    あなたがかもしれない次のいずれか、

    • は(-target 1.5フラグでjarファイルを再コンパイルのUnix

    • にJDK 1.6をインストールしていますが、APIの非互換性に起因するエラーの任意の並べ替えを得ることができますので、最初の方法ははるかに良い)

  • +1

    あなたは '-sourceと-bootclasspath'のパラメータを忘れています(私の答えは以下を参照してください) – VonC

    1

    あなたのUnixシステムで新しいバージョンのJavaを使ってみましたか?

    jarファイルを制御すると、コンパイル時にJava 1.5をターゲットにできますか?

    0

    UnsupportedVersionErrorは、Javaソースコードを実行しようとしているものよりも新しいバージョンのJavaでコンパイルしたことを意味します。 Javaは下位互換性があります(新しいバージョンのJavaでは古いバージョンでコンパイルされたJavaプログラムを実行できます)が、上位互換性はありません(古いバージョンのJavaでは新しいバージョンでコンパイルされたJavaプログラムを実行できません)。

    あなたはUnix上でJava 5を使用していると言います。 WindowsでJava 6を使用してコンパイルしましたか?それから明らかにうまくいかないでしょう。

    考えられる解決策:

    • Windows上でのJava 5を使用して、ソースコードをコンパイルします(最も安全なオプション)
    • コンパイラフラグを使用してください:-source 1.5 -target 1.5コンパイルしながら、(これは、Java 6を使用しないように、あなたを保護しませんUnixの
    +0

    ' -bootclasspath'を忘れました。 – VonC

    0

    R上のJava 6の唯一の標準ライブラリのクラスなので、これはあなたのプログラムは、Java 5でエラーなしで実行されます満杯保証するものではありません)

  • アップグレードWindowsマシン上でJava 5を使用してアプリケーションをecompileします。

    (Java 6のは、新しい機能を使用するには、デフォルトではJava 6の互換性のあるバイトコードを生成します。あなたのための最も簡単にJava 5 JDKをインストールし、アプリケーションを再コンパイルするためにそれを使用することです)

  • 関連する問題