I'm looking for a make utility for building large java programs. I'm aware of ANT already, but want to see what else is available.
Ideally, it should be able to handle the .java->.class package directory weirdness that fouls up GNU Make.
Win32, but cross platform is a plus.
EDIT: I see some cons to using ANT, which is why I wanted to see other options, though I'll probably end up using it anyway, just because it works.
I'd use gnu make, but it can't figure out where the .class file for a .java file with a package declaration is going to end up.
util Package. It contains the collections framework, legacy collection classes, event model, date and time facilities, internationalization, and miscellaneous utility classes (a string tokenizer, a random-number generator, and a bit array).
The methods in the utility class should be declared static and not abstract as object methods need instantiation. The final keyword prevents subclassing. Here, we create our own Utility class with a private constructor, which, when invoked, throws an exception.
Utilities are simple HTML classes typically scoped to a single CSS property, like border-style or background-color . Utilities can be used additively to style an object from scratch or to override a style defined in component CSS.
Ant and Maven are definitely the two standards. If you're already familiar with Ant and want the dependency management that comes with Maven, you might take a look at Ivy.
One thing both Ant and Maven lack is true control structures in your build scripts. There are plugins you can download for Ant that provide some of this control, but (again, if you're already familiar with Ant) you may take a look at Gant which is a Groovy wrapper for Ant.
If you're starting a new project you may want to look into maven. It's kinda hard intially, but it handles a bunch of stuff for you including dependencies.
If you already have a project which you want to make a build file for, then I don't have any recommendations apart from the aforementioned ant.
Forget ANT!!
Apache Maven is the way to go if you ask me.
The feature i like the most is it built in in dependency management. This means you dont have to check 3rd party JARs into your source control project.
You specify your dependencies in the maven POM (Project Object Model - Its basically an XML description of your project) and maven automatically downloads, compiles against them and packages them with your app.
Other really nice features are: Release management and distribution publication - Perform releases using maven console commands. This feature will tag your code base in source control. Checkout a clean copy, build it & package it for deployment. A second command will upload it to your repository for distribution to other end users.
A large and growing repository of libraries already using maven - EVERY Apache project uses maven. LOADS more are on board also. See for yourself, here's the main repo
Ability to host your own repo. - Where you can release your own builds and also upload JARs that dont exist in other public repos (like most SUN jars)
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With