2016-05-04 9 views
-2

Javaアプリケーションのバグは、システムコマンドラインからアプリケーションを実行したときにのみ発生しますが、Eclipse内からアプリケーションを実行すると発生しません火星。アプリケーションを起動するためのこれらの方法の技術的な違いについて知っていれば、そのバグを見つけるのに役立ちます。実行中のアプリケーションとコマンドラインの間のJava呼び出しの相違

私の質問は次のとおりです。アプリケーションの起動時にEclipseが行う特別な処理はありますか?追加のVM引数を設定しますか?また、コマンドラインからEclipseを起動したときに、Eclipseがアプリケーションを実行する方法を何とか再現できますか?

編集:

コマンドラインから実行している間、私は問題をコード化する、すなわち、一部の非ASCII文字がEclipseでアプリケーションを実行中に正しく表示されなくしていました。私は、コードがUTF-8であるデフォルトのシステムキャラクタセットに依存していることを明らかにしました。これは明らかに間違っています(私はLatin1でWindowsを実行します)。ただし、同じコンピュータ上でEclipseから実行すると、Javaのデフォルト文字セットはUTF-8に設定されます。このため、私はIDEでバグを再現できませんでした。私は最終的にシェルからプログラムを実行し、リモートデバッグを使用してバグを見つけました。

+2

あなたはどのバグを観察していますか? – Berger

+0

reproコードを提供できますか? – Vincent

答えて

1

コマンドラインw.r.tでプログラムを実行することには大きな違いがあります。 (ただし、コマンドラインでIDEのすべての機能を実現できることを覚えておいてください) Eclipseについては、http://help.eclipse.org/mars/index.jsp?topic=%2Forg.eclipse.jdt.doc.user%2FgettingStarted%2Fqs-12.htmで利用可能なトピックを読むことができます。

+0

これは、IDEからアプリケーションを起動する方法を示しています。私は技術的な詳細に興味がありました。つまり、Eclipseがシステムシェルでjavaバイナリを呼び出すのですか、それともVMを起動してプログラムを実行するために他の方法を使用していますか? –

関連する問題