2011-06-01 1 views
4

Я учусь использовать набор инструментов Springsource Tool (STS) и платформу Spring для разработки. Я пытаюсь запустить Amazon AWS SDK для eclipse и решил установить его в STS. Когда я следую за созданием нового проекта AWS, он помещает файл .java в src вместо src/main/java, и когда я пытаюсь его построить, он говорит:В чем разница между src/main/java и src в инструменте Springsource

«Нет главного» или что-то в этом роде.

Но, когда я перемещаю AwsConsoleApp.java и AwsCredentials.properties в src/main/java, тогда (пакет по умолчанию) я могу запустить файл как приложение Java.

Мой вопрос в том, в чем разница между src/main/java -> пакет по умолчанию и src -> main. Я приложил изображение, чтобы разъяснить вещи:

Project_Explorer_View

ответ

4

Ответ:

Каждого проект Java в Eclipse (и STS, а), имеют связанные сборки путь, в котором указано, какие папки проект содержит классы java. Таким образом, разница между и src/main/java заключается в том, что src/main/java настроен как папка, содержащая классы Java (или исходную папку в терминологии Eclipse), а папка src/ содержит только исходную папку.

Дополнительную информацию можно найти в Eclipse Help.

Я не уверен, что привело к тому, что ваши классы Java оказались в неправильной папке, но это означает, что они не находятся в пути к классам проекта. Поэтому, когда вы запускаете приложение как приложение Java, оно жалуется, что не может найти метод main() (который является точкой входа по умолчанию для любого приложения Java).

Все встает на свои места, когда вы перемещаете классы по умолчанию по умолчанию в src/main/java: Eclipse находит ваши классы Java и метод main().

+1

Может кто-нибудь скажет мне, когда мы создадим новый проект Maven, создадим src/main/java и src/test/java. В чем основное отличие этих двух. При подготовке сценария автоматизации webdriver мы добавляем все тестовые примеры и java-файлы в папку src/test/java. Почему мы это делаем? –

+0

@Nilanjan Это рекомендация Maven о том, как вы организуете свой проект для упрощения управления. Все, что будет развернуто на производстве или будет использоваться другими модулями, обычно помещается в src/main/java. Все тесты, которые вы пишете для этого модуля, будут проходить в src/test/java. Когда Maven компилирует, он отделяет артефакты от двух папок и объединяет их только тогда, когда это необходимо. Например, если вы используете модуль в другом модуле, вы получите только src/main/java. Когда вы запускаете тесты, путь к классам будет объединен src/main/java и src/test/java. –

 Смежные вопросы

  • Нет связанных вопросов^_^