Maven: нет источников для компиляции

Я следую "Build Java Projects with Maven" (https://spring.io/guides/gs/maven/#scratch), и когда я запускаю 'mvn compile' из /Users/Misha/Desktop/src/main/java/hello, я получаю следующее приглашение:

[INFO] Scanning for projects...   
[INFO]                                                                                  
[INFO] ------------------------------------------------------------------------   
[INFO] Building gs-maven 0.1.0    
[INFO] ------------------------------------------------------------------------   
[INFO]    
[INFO] --- maven-resources-plugin:2.6:resources (default-resources) @ gs-maven ---   
[INFO] Using 'UTF-8' encoding to copy filtered resources.   
[INFO] Copying 3 resources   
[INFO]    
[INFO] --- maven-compiler-plugin:3.1:compile (default-compile) @ gs-maven ---   
[INFO] No sources to compile   
[INFO] ------------------------------------------------------------------------   
[INFO] BUILD SUCCESS     
[INFO] ------------------------------------------------------------------------    
[INFO] Total time: 0.942 s    
[INFO] Finished at: 2015-01-11T23:10:28-08:00   
[INFO] Final Memory: 7M/155M
[INFO] ------------------------------------------------------------------------

У меня есть два java файла и xml файл в каталоге hello, и я предполагаю, что я должен увидеть "Hello World!". вместо Нет источников для компиляции. Почему мой код java не компилируется? Спасибо!

Ответ 1

Чтобы создать maven-проект, вам нужно

  • Каталог-проект, содержащий pom.xml -file
  • В этом каталоге проекта находится подкаталог src/main/java, содержащий ваш java-код (пакеты переходят в подкаталоги src/main/java)

Чтобы вызвать maven run mvn compile или что-то подобное из каталога проекта.

Ответ 2

потому что в $PROJECT_DIR/src/main/java

нет java файлов,

Ответ 3

Вы пытаетесь скомпилировать проект или класс? В качестве руководства в https://spring.io/guides/gs/maven/#scratch вам нужно скомпилировать проект. Попробуйте запустить mvn compile из направления проекта.

Ответ 4

В моем случае мне не хватало этого:

<project>
    <build>
        <sourceDirectory>src</sourceDirectory>
        <testSourceDirectory>test</testSourceDirectory>
    </build>
</project>

Обычно я просто использовал бы структуру каталогов по умолчанию src/main/java для моего исходного корня и src/test/java для моего тестового корня, но я работаю над проектом класса с существующим кодом и не могу переставить Файловая структура.