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
для моего тестового корня, но я работаю над проектом класса с существующим кодом и не могу переставить Файловая структура.