2011-11-28 17 views
3

javacを使用してコマンドラインからjavaプロジェクトをコンパイルしようとしていますが、コマンドラインで出力が得られません。また、.classファイルは生成されていません。javacが出力を生成しない

私はjavacコマンドを呼び出すために使用しています正確な構文は以下の通りです:オプションのファイルの

javac @options @javaFiles 

内容は以下の通りです:などCP1、2、3を参照してください

-g 
-verbose 
-d classes 
-classpath cp1;cp2;cp3 

私のマシン上のjarファイルjavaFilesファイルには、私がコンパイルしたいのjavaファイルのリストを持っています

C:\path\to\dir\one.java 
C:\path\to\dir\two.java 

問題は、コマンドライン(私は場合はミススペルコマンドラインのいずれかで出力がないということですその後、エラーが発生しているスイッチコマンドラインでの出力)、クラスファイルに.classファイルは生成されません。 また、オプションファイルに '-Xstdout output.txt'スイッチを追加してコンパイルしようとすると、 javacコマンドが終了し、output.txtファイルが作成されますが、ファイルに情報はありません。

私の質問は: javacを呼び出すために間違った構文を使用していますが、どうすればよいですか?

EDIT:

私はジャスパーの答えで述べたようにオプションとjavaFilesファイルを変更しましたが、今でエラー以下 を取得しています:

* __ *のjavac @optionsの@javaFiles
のjavacを:ファイルが見つかりません:com \ compname \ cloud \ automation \ portal \ definitions \ landing \ LandingPage.java
用途:javac <options> <source files>
可能なオプションの一覧については、-helpを使用してください。

EDIT 2:

[OK]を、この問題は、クラスパス上のjarファイルの一つとなりました。そのjarファイルが削除されると、すべてのコンパイルが正しくコンパイルされ、.classファイルが作成されます。

冗長スイッチが使用されていても、このjarがクラスパス上にあるときにjavacが自動的に失敗する理由はまだ分かりません。

当時、私はこの瓶を使用しないで回避することができます。人々が提供してくれた助けに感謝します...

+0

「javac ...」と呼ばれるディレクトリからですか?これは、パッケージ階層のルートにあるファイル( 'com'ディレクトリがあるディレクトリ)から呼び出されます。 –

答えて

0

2番目のファイルでは、完全なパス名を使用するのではなく、パッケージのベースディレクトリからのパス名のみを使用します。 -sourcepathオプションを追加し、最初のファイルで

org\mypackage\One.java 
org\mypackage\Two.java 

::第二のファイルにこれを入れて、あなたのコードがパッケージorg.mypackageであり、そしてソースファイルがディレクトリC:\myproject\src\org\mypackageであると仮定し

-sourcepath C:\myproject\src 
+0

あなたの入力に編集されたオリジナル投稿 – bmooney

+0

'-sourcepath'オプションも追加しましたか? – Jesper

0

私はちょうど同じ問題に遭遇しました。符号なしサードパーティのjarファイル:

  • 私は私のコードをコンパイルする前に、サードパーティのjarファイルに署名する場合は、javacのは黙っ
を失敗したのjavacを呼び出し、未署名のjarファイルを使用し、
  • 予想どおりにすべてが動作するかどうか

    希望します。 。アンドレア

  • 関連する問題