Maven is my favourite Java project management tool. But for legacy Java projects which you have to stick to use Apache Ant, you can consider Apache Ivy.
Apache Ivy installation is simple, download the binary, extract the ivy.jar to your ANT_HOME/lib.
Continue reading Apache Ivy – Manage dependencies for Ant build Java project
Jenkins, previously named as Hudson, is a continuous integration tool just like CruiseControl. It has been almost 4 years since i started learning Maven which made me fall in love about best practice. Deployment and testing automation is really fun and finally i got a chance to play it again.
In this article, i would show you how to setup a simple Ant build project in Jenkins. Before we start, please refer to the simple Java project example in the post below.
1. Download and install Jenkins.
Continue reading Jenkins – Setup a simple Ant build project
Mess up with the PHP dependencies in different environments? Composer is a PHP dependency manager where all the dependencies information are stored in the JSON file called composer.json. Similar to the pom.xml if you are using Maven in Java.
This example is done on a Windows machine. You could refer to Composer website if you are using Mac or Linux.
1. Download and install the Composer as stated in the Composer website.
Continue reading Composer – Manage your PHP dependencies
The Apache Commons Codec could help you to generate the MD5 of a file with just one command. Download the lib @ Download Commons Codec. If you want to use Maven, include the following dependency in the pom.xml. Continue reading Java – Get MD5 Checksum of a File
Finally i could find some time to release this Maven H2O which i did when i was working in CECID in 2009-2010. It is under GNU General Public License (GPL v2). I fixed some dependencies problem and i found that the Maven repository has changed since i left CECID. It is now ready in GitHub.
Thanks Ronnie who gave me the chance to learn Maven and apply it on the H2O project. Also give thanks to other teammates – Philip, Steve, Patrick, Franz, Jumbo. I missed the time working with you guys in the CECID H2O team.
Apache Commons IO provides the StringUtils Class for checking empty string in Java.
Add the Apache Commons Lang in the pom.xml. Continue reading Java – Check Empty String with Apache Commons
I follow the Struts 2 tutorial and setup a simple Struts 2 application.
Create Struts 2 Web Application Using Maven To Manage Artifacts and To Build The Application
I used the struts2-core version 2.2.1 and also added a maven-jetty-plugin for running the web application. But when i run mvn jetty:run, the following error is found.
java.lang.IllegalArgumentException: Javassist library is missing in classpath! Please add missed dependency!
It is found that in struts2-core version 2.2.1, the Javassist dependency was excluded in OGNL. So i have to add this dependency in the pom.xml by myself.
So here comes to the project details. Continue reading Struts 2 – Setup a Struts 2 Web Application in Maven
I have the following shell script to start the Jetty Server in my portable web application in Windows.
start java -DSTOP.PORT=8080 -DSTOP.KEY=stop_jetty -jar start.jar
Continue reading Maven – Start Jetty Server by Ant task using maven-antrun-plugin
Normally, the maven-jetty-plugin should be configured in the pom of your Maven webapp project/module. But the project i am working is a legacy Java project with many modules and the webapp module depends on others. so i cannot simply start it due to the build sequence.
What i am going to do is to add an new Maven module for integration test of the Maven webapp module and it would be build in the last module such that all other modules are ready.
Continue reading Maven – Using maven-jetty-plugin to Start a webapp of another Maven Module
If you want to know how to run Selenium in a Maven webapp project, you can refer to the following post.
Selenium – Integrate the Selenium Tests into Maven Build
If you are a Tapestry user, the pom.xml in the above article may not work as the webapp cannot be started in the Embedded Jetty (404 Not Found). I am not sure the reason behind but i find a work around to solve the problem. The tricky thing is in the Embedded Jetty configuration in the cargo2-maven-plugin.
Continue reading Run Selenium in Tapestry Maven Project