2016-11-20 5 views
0

jflexとcupをインストールしました。すべてが正常かどうかをテストします。 ここに私がシェルで書いたことと私が得た結果があります。ここで enter image description hereWindowsでjflex.batを実行できません。

jflex.batファイルの内容です: enter image description here は私が間違って行っている何かがありますか? 初めてjflexを実行するには?私がjava -versionを書くと、私のPCに正しいバージョンのjavaが表示されます。問題はjflexにあります。

ありがとうございます!

+0

将来の読者がそのデータが何であったかを見ることができるように、(風景のような)「画像」アイコンを使用してグラフィックスを含めてください。カット&ペーストのコードスニペットに最適で、次に '{}'を押してコードとしてマークします。そうすれば、コードは編集可能であり、結果的にタイプミスを減らして再入力する必要はありません。 – Magoo

+0

...または、あなたの質問にコンソールからテキストをコピーして貼り付けることができました。将来のユーザーが画像に表示されたエラーメッセージを検索して質問を見つける方法がないためです。 – Seki

答えて

1

あなたが%java_home%\binを実行している場合は、あなたが

1)同様に、 "二重引用符"

%clpath%その方法を囲む
2) "二重引用符" で%java_home%\bin\javaを囲む必要があり、cmdです引用符間の内容が単一の文字列であることを認識します。

1

あなたはそれがあなたのJava環境のルート・ディレクトリへのパスが含まれてい JAVA_HOME変数にスペースが含まれているスペースが含まれているため、二重引用符でJAVA_HOME変数の値を囲む必要があります:C:\Program Files (x86)\Java。ちょうどあなたが得る%JAVA_HOME%の値を代入してそう

%JAVA_HOME%\bin\java -classpath... 

:第三の最後の行で使用されている

C:\Program Files (x86)\bin\java -classpath... 

あなたが言う:「それはJava実行可能ファイルへのパスだけです」。しかし、それはコマンドインタプリタがそれを見ている方法ではなく、あなたが3つの異なるものを与えていると思うでしょう:C:\ProgramFiles(x86)(普通の引数として区切り文字として空白を取るだけです!次に、実行可能プログラムへのパスとして最初の1つを受け取り、その引き数として残りの行を取ります。 C:\Programが有効な実行可能ファイルへのパスではありませんのでエラーが発生します

「C:\プログラムは、」だから、

が、それは彼が常に持っている知っているように、外部または内部command`として認識されません C:\Program Files (x86)全体(同じものの一部:ディレクトリへの1つのパス)をダブルクォートで囲むだけです。バッチでは、変数を二重引用符で囲むことは、パスを表すときには常に賢明です。

  1. 最も簡単なもの(のみ、この特定の問題を解決します):あなたはJAVA_HOMEはどこにでも確認してください

    set JAVA_HOME="C:\Program Files (x86)\Java" 
    

    set JAVA_HOME=C:\Program Files (x86)\Java 
    

    を交換この方法で今、あなたは3つのオプションを持っています使用すると、 "ファイル"のスペースが原因でもう問題は発生しません

  2. Goどこでも%JAVA_HOME%を使用し、それを"%JAVA_HOME%"(二重引用符で囲む)に置き換えてください。 %JFLEX_HOME%のすべての用途で同じことができます。

  3. 最後のオプション(最も一般的ですが、一括して考慮する必要があります)は、パスのすべての表現を囲みます(リテラルパスまたはパスセット変数で)二重引用符で囲みます。

+0

しかし、JavaはOkです。私がjava -versionを書くと、私のPCに正しいバージョンのjavaが表示されます。問題はjflexにあります。 –

+0

あなたのJavaに問題はありません(または少なくとも...それはエラーの原因ではありません) –

+0

私は私の答えを編集し、いくつかの説明を提供しました、それはあなたが問題を理解し、それを解決するのを助けることを願っ:) –

関連する問題