2017-11-05 21 views
-3

私はJava開発に全く新しいですし、学校プロジェクトに取り組んでいます。これは私の最初の投稿です。私は2つの関連する問題があります。まず、コマンドラインからコードを実行しようとすると、「エラー:メイン・メインを見つけられない、ロードできませんでした」というメッセージが表示されます。私はこれがクラスパスに関連していると信じていますが、なぜそれがメインではないのか分かりません。おそらくパッケージに関連していますか?私はそれがおそらくなぜメインのパスのためにコモンズのlibを見つけることができないと思うだろうか?私はのIntelliJに引数を渡すときWindowsのコマンドラインからJavaアプリケーションを実行

main

cli

第二の問題がある(下記の設定...)それがない:ここでは

command line

は、コードのいくつかのスナップショットでありますhasOption( "foo")でキャッチしないでください。

任意の助け回の

config

ありがとう!

+2

問題のすべての関連するコードとコマンドをテキストとして投稿してください。画像へのリンクではありません。画像はsearchablではありません。編集、コピー、貼り付け、変更はできません。 –

+2

[idownvotedbecau.se/imageofcode](http://idownvotedbecau.se/imageofcode) – Turing85

答えて

0

まず、classpathの使い方を読んで理解する必要があります。あなたのclasspath変数は、Apacheコモンズlibに設定されています。つまり、メインクラスを検索するのはです。実際には、現在のディレクトリツリーで最初に検索する必要があります。したがって、.;[other libs...](ここで.は現在のディレクトリを表します)に設定する必要があります。javaコマンドに完全修飾クラス名が必要なので、CD [...]\sim-comm-shellと入力してjava com.demand.energy.Mainと入力する必要があります。

第2部分:オプションの前にハイフンが付きます。コマンドラインは-hでなければなりません。

+0

ありがとう@DodgyCodeException、2番目の部分が動作します! – jmurray

+0

最初に「。;」を追加しました。 C:\ Class Material \ Demand \ sim-comm-shell \ out \ production \ sim-comm-shell> java com.demandenergy.simcommand.Main スレッド "main"の例外java.lang .NoClassDefFoundError:org/apache/commons/cli/ParseException com.demandenergy.simcommand.Main.main(Main.java:6) 原因:java.lang.ClassNotFoundException:org.apache.commons.cli.ParseException。 .etc .. これでコードが実行されましたが(ありがとう!)、apache libは表示されません。正しい方向へステップ! – jmurray

+0

CLASSPATHを正確に何に設定しましたか? *現在のディレクトリ*と* apache libの両方を追加する必要があります。 'CLASSPATH = .; c:\ path \から\ lib.jar'に移動します。 – DodgyCodeException

関連する問題