When the Hudson/Jenkins fork was announced earlier this year, the case seemed pretty clear. There were heroes from the Open Source community, among them Hudson's original author, and there was everybody's favorite villain, Oracle. Back in February, I would have chosen Jenkins without a second thought. Now, almost a …
read moreOther articles
Deploying to Tomcat From Maven Builds
Java: Finding Package Cycles
JDepend is a tool for detecting cycles between your Java packages. It is often used from a Maven plugin to generate reports for the project's Maven site.In most teams, however, people only look at these reports from time to time. So when a cycle has been introduced, it takes …A Maven Archetype for Hadoop Jobs
In my last article I showed how to build a Hadoop job that contains all its dependencies. To make things even easier, I created a Maven archetype that turns project setup into a simple 30 second process.
To generate a new project run the following command (on one line):
mvn …
read moreMaven: Building a Self-Contained Hadoop Job
Non-trivial Hadoop jobs usually have dependencies that go beyond those provided by the Hadoop runtime environment. That means, if your job needs additional libraries you have to make sure they are on Hadoop's classpath as soon as the job is executed. This article shows how you can build a self-contained …
read moreEfficient Development Environment Setup
Development environments and their configuration can become quite complex. It's not unusual that a complete workstation setup takes half a day or more and requires extensive help from other project members. Using virtual machines for the runtime environment can help to reduce setup and maintenance costs.
For large Java web …
read moreProfessional Deployment and Operation of Web Applications
There are millions of web applications on the Internet that are under constant development. Paying software developers to work on bug fixes and new features is quite expensive already, but what's often neglected is the cost for deployment and operation. Well-run organizations invest in their deployment and runtime infrastructure and …
read moreThe State of Java Build Systems
Most people eventually get it that building release artifacts using their IDEs is not the way to nirvana. Builds have to stay stable and reproducible between IDE revisions, and being able to execute them in a command line environment or especially continuous integration servers is key to agile development.
Fortunately …
read moreGenerating DDL Scripts from JPA Annotations with Maven
A while ago I posted an article that showed how to generate a database schema from JPA annotations. Since I didn't get the hibernate3 maven plugin working back then I used the antrun plugin as a workaround. Thanks to the help of a reader the plugin works now, so an …
read more