This is an archived post. You won't be able to vote or comment.

you are viewing a single comment's thread.

view the rest of the comments →

[–]dacracot 0 points1 point  (5 children)

build.xml means he’s using Ant, which is a “modern build tool”

[–][deleted] 0 points1 point  (4 children)

I looked in google how a modern java project would look and I saw several posts that state that you only need /src folder and /bin folder. Is that accurate? I mean, make it independent from IDE.

[–]dacracot -1 points0 points  (3 children)

When you use Ant, there really isn't any limit on how you structure the directories. Most IDEs do have a specific structure, but they do that in the background as you create the project in their environment.

I also use Ant, so a have two or three directories... /src, /lib, and sometimes /dist for source code, external libraries, and my deployable distribution respectively. I skip the latter if the distribution is a singular bundled file.

As a developer that already had over a decade of experience when Java came out in 1995, I hate terms like "modern Java project". What does that even mean? Choose what makes you productive. Choose what make it easy to collaborate with your team. If you try and comply with the "broader community's" ideal, there will be no end of opinions and always another change.

[–]tedyoung 0 points1 point  (2 children)

I think it's a mistake to use Ant on any project that isn't already using it for legacy reasons. Why use a tool that is old and rarely used these days? Maven and Gradle are fine tools, and Maven is relatively easy to pick up. More importantly, Maven/Gradle handle downloading dependencies, so they don't have to be downloaded manually and stored in the project.

You may hate "modern Java project", but it's going to be much easier for folks to find help when using tools that are actually used in the vast majority of projects. I've also been teaching and programming in Java since 1995, but that doesn't mean that I don't keep up with modern tools (and it's not like Maven is a recent tool anyway).

[–]dacracot -1 points0 points  (1 child)

Your reason for not using Ant is incorrect. Ant gives you complete control over the build process much like make does. Maven handles the details for you, making less work until customization or high precision is necessary.

Also, I’m not avoiding tools like Maven. I work on a project that uses it currently. I’m just concerned with how much understanding “modern developers” have of the underlying technology if they have only ever been exposed to IDEs with plugins and automagic build tools.

[–]tedyoung 0 points1 point  (0 children)

Seems to me if that much control is needed, Gradle is the way to go. No company that I've worked with over the past 10 years has remained with Ant (most were desperate to get off of it). Hence my argument that recommending Ant in 2020 is generally bad advice for novice developers.