I was trying to compile a huge open source Java project, and after building it with MAVEN I saw that some folders contain extra classes that didn't exist before in the corresponding folder. In other words, after building the Java project, more .class files are generated in some folders than the .java files that existed before compiling.
Can you explain the reason? Is it normal? What are the practices that lead to such results and change the structure of the project?