Diferença de projeto maven e projeto normal

Pessoal,

Criei um projeto maven e notei que a estrutura do projeto é diferente da convencional.

Há dois caminhos para as classes, o src/main/java e src/test/java

Alguém saberia me explicar a diferença entre esses dois? O que fica aonde?

Obrigado!

O pacote main/java, serve pra você guardar os fontes principais do seu sistema, e o test, como o próprio nome diz, serve pra você fazer os seus testes unitários, ao executar o maven, ele já verifica se há algum erro nessa pasta de testes.

Mas por exemplo: se eu estiver importando algo do jUnit em uma determinada classe, é melhor que ela esteja no pacote de teste ou é obrigatório pra não dar problema na hora da compilação?

Você terá problemas quando for compilar seu projeto com o maven, se algum teste unitário seu não passar.

Tanta dor de cabeça que eu poderia ter evitado se tivesse perguntando antes rs. Muito obrigado cara!