私はかなり奇妙な立場にいます(私のJava初心者の観点から):
eclipseを使用して、基本的にテキスト(* .csv)ファイルを(バッチで)読み取り、その内容を "評価"し、結果を* _out.csvテキストファイルに書き出す「Javaプログラム」(クラスを含む.Javaファイル)を作成しました。入力ファイルを見つけるために、「ファイル選択」を使用します(ここからサンプルを入手しました: http://docs.Oracle.com/javase/tutorial/uiswing/components/filechooser.html )
すべてのコードをデバッグし、デバッガーを使用して動作します。
私はコード(他のすべてを順番に呼び出すメインクラス)を実行し、それは動作します、Eclipse。
プロジェクトのすべてのコンテンツを「実行可能なjar」ファイルにエクスポートしました。
ファイル選択は別として、これは主に読み取りと書き込みを行う「バッチ」であり、ユーザーインターフェイスはほとんどないことに注意してください。 Eclipseの実行中に、「if(debug)System.out.print( "something to print");」のようなものを使用して、「debug "デバッグ中はTRUE、運用環境ではFALSE。
上記のすべてが機能しました!
ここで、実行可能なjarを開始します(Win/XPでjarファイルをダブルクリック)、ファイルセレクターを見ることができますそれを使用できますしかし、入力ファイルを選択した後...nothing more:(ユーザーインターフェイスを持たない)ファイルが読み込まれたかどうかわからない、生成された出力が表示されないデバッグ変数をTRUEに設定して再エクスポートしても、jarが機能しているかどうかを確認するための中間コンソールデバッグメッセージを一覧表示する「コンソール」さえありません。
実行中のjar(VBのMsgBoxなど)を「実行時デバッグ」する方法はありますか?ある種の「ログファイル」を「有効」にするか、調べることができますか? (明らかに、私のjarは結果ファイルを書いていないので、私は* .logを書くこともできません)私はちょうどできません私のマシンにEclipse以外をインストールして(そして運が良かったので)実行したので、通常の開発者のツール、ユーティリティ、その他の便利なものはありません。
実行可能なjarであっても、コンソールから実行できます。ターミナルウィンドウを開き、jarを含むディレクトリに移動し、「Java -jar yourJar.jar」と入力します。そのターミナルウィンドウで実行され、キャッチされていない例外からのスタックトレースを含むsysoutおよびsyserr出力がそこに表示されます。コンパイル時にデバッグをtrueに設定してください。そして成功を祈る。
他のことを考えてみてください-Win7を使用している場合、ユーザーアプリケーションが特定のディレクトリにファイルを書き込む際に、アクセス許可の問題が発生することがよくあります。出力ファイルを書き込むディレクトリが、許可されているディレクトリであることを確認してください。
将来のプロジェクトで、それが十分に大きい場合は、「デバッグ」出力に標準のログ機能のいずれかを使用できます。コンソールを使用することに依存するのではなく、ファイルにリダイレクトするのが簡単です。しかし、このような小さな仕事の場合、これは問題ないはずです。
http://www.eclipsezone.com/Eclipse/forums/t53459.html
基本的にそれを実行します:
-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=1044
アプリケーションは、起動時に、別のソースから接続するまで待機します。
特別なオプションを使用してJava
コマンドを起動すると、JVMのデバッグ機能を有効にできます。
Java -agentlib:jdwp=transport=dt_socket,address=8000,server=y,suspend=y -jar path/to/some/war/or/jar.jar
コマンドラインでそのようなjar.jar
を起動すると:
server=y
)のJVMインスタンス(address=8000
)Listening for transport dt_socket at address: 8000
をstdout
に書き込み、suspend=y
)を一時停止します。このシナリオでは、デバッガーはclientとして機能します。デバッガを選択するための一般的なオプションは次のとおりです。
jar.jar
の実行が開始されます。jdb -connect com.Sun.jdi.SocketAttach:port=8000
で起動しますIntelliJ IDEA
を使用すると、Jar Application
ランタイム構成を作成し、JAR
、ソース、JRE
を選択してJar
を実行できます。デバッグを開始します。 ここ はドキュメントです。