2 ms·
As someone who has never done meaningful Java development, I always find the project structure of Java codebases indecipherable. Why are there so many folders?
by oldmanhorton 11y ago
As someone who has never done meaningful Java development, I always find the project structure of Java codebases indecipherable. Why are there so many folders? I understand that namespaces depend on directory path, but it just seems like there is so much "stuff" here that I would have no idea where to even begin looking for an entry point or useful code snippet.
- jcdavis 11y agoAlmost all Java dev is done via full-featured IDEs which support advanced searching/finding, so simple file stucture isn't really considered a big priority. Additionally, here they seem to have structured thing as a bunch of smaller projects, which seems pretty overkill but I'm not too familiar with it.
- sterwill 11y agoOne reason there are so many sub-projects is that TEE has many build outputs: Eclipse plug-ins, a stand-alone application (I think this was removed), a command-line client with no graphical dependencies. These different products are built with different processes; Eclipse drives the Java compiler to build Eclipse plug-ins, but the command-line client is just Maven and javac, etc. There's also some machine-generated code. TEE web service client classes are generated from TFS WSDL. That got stuck in its own project so the commit history was cleaner. Being a large-ish, old-ish project that has proprietary roots, there are also a lot of compatibility and portability layers that a modern open source project could probably shed or replace with external dependencies. Excuse me if I'm misremembering some details, it's been about 4 years since I worked on TEE.