2011-06-01 5 views
4

開発のためにSpringSource Tool Suite(STS)とSpringフレームワークを使用する方法を学んでいます。私はEclipse用のAmazon AWS SDKを試しており、STSにインストールすることに決めました。新しいAWSプロジェクトの作成に従うと、src/main/javaの代わりにsrcの下に.javaファイルが置かれ、ビルドしようとするとスプリングソースツールのsrc/main/javaとsrcの違い

「ありません」 などがあります。

しかし、AwsConsoleApp.javaとAwsCredentials.propertiesをsrc/main/java(デフォルトパッケージ)に移動すると、ファイルをJavaアプリケーションとして実行できます。

私の質問はsrc/main/java - >デフォルトパッケージとsrc - > mainの違いは何ですか?私は物事を明確に画像を添付しました:

Project_Explorer_View

答えて

4

回答:

EclipseでJavaの各プロジェクト(およびSTS同様)は、内のフォルダが指定されたビルド・パスを、関連付けられていますプロジェクトにはJavaクラスが含まれています。したがって、src/src/main/javaの違いは、src/フォルダにはソースフォルダのみが含まれていますが、src/main/javaはJavaクラス(またはEclipse用語ではソースフォルダ)を含むフォルダとして構成されています。

さらに詳しい情報はEclipse Helpにあります。

私は、あなたのJavaクラスが間違ったフォルダに終わる原因を確かめませんが、これはプロジェクトのクラスパスにないことを意味します。そのため、アプリケーションをJavaアプリケーションとして実行すると、main()メソッド(Javaアプリケーションのデフォルトエントリポイント)が見つからないという不満があります。

デフォルトのパッケージの下でクラスをsrc/main/javaに移動すると、すべてが実行されます。EclipseはJavaクラスを見つけ、main()メソッドを見つけます。

+1

新しいMavenプロジェクト、src/main/java、src/test/javaを作成するときは誰でも教えてください。これら2つの基本的な違いは何ですか?基本的には、Webdriverの自動化スクリプトを準備する際に、すべてのテストケースとjavaファイルをsrc/test/javaフォルダに追加します。なぜそうするの? –

+0

@Nilanjan管理しやすいようにプロジェクトをどのように整理するかはMavenの推奨です。本番環境に配備されるか、他のモジュールによって使用されるものは、通常、src/main/javaに置かれます。このモジュール用に書いたすべてのテストは、src/test/javaに入ります。 Mavenがコンパイルされるとき、それは2つのフォルダから成果物を分離し、必要な場合にのみ結合します。たとえば、モジュールを別のモジュールで使用する場合は、src/main/javaのみを取得します。テストを実行しているとき、クラスパスはsrc/main/javaとsrc/test/javaに結合されます。 –

関連する問題