Matt RaibleMatt Raible is a writer with a passion for software. Connect with him on LinkedIn.

The Angular Mini-Book The Angular Mini-Book is a guide to getting started with Angular. You'll learn how to develop a bare-bones application, test it, and deploy it. Then you'll move on to adding Bootstrap, Angular Material, continuous integration, and authentication.

Spring Boot is a popular framework for building REST APIs. You'll learn how to integrate Angular with Spring Boot and use security best practices like HTTPS and a content security policy.

For book updates, follow @angular_book on Twitter.

The JHipster Mini-Book The JHipster Mini-Book is a guide to getting started with hip technologies today: Angular, Bootstrap, and Spring Boot. All of these frameworks are wrapped up in an easy-to-use project called JHipster.

This book shows you how to build an app with JHipster, and guides you through the plethora of tools, techniques and options you can use. Furthermore, it explains the UI and API building blocks so you understand the underpinnings of your great application.

For book updates, follow @jhipster-book on Twitter.

10+ YEARS


Over 10 years ago, I wrote my first blog post. Since then, I've authored books, had kids, traveled the world, found Trish and blogged about it all.
You searched this site for "ant". 338 entries found.

You can also try this same search on Google.

James Duncan Davidson has a blog.

I found James Duncan Davidson's blog tonight. For those of you who didn't know, James is the original author of both Tomcat and Ant. Now he appears to be caught up in Mac OS X goodness, and is having fun with the T68i and iSync. Powered by blosxom, motivated by simplicity, driven by perl.

Posted in General at Oct 21 2002, 01:19:20 PM MDT 1 Comment

Java Developer? Buy this book!

Yesterday was a good day - I woke up at 4, finished the features and bug fixes for the 1.0.2 release of my project, deployed it, and headed to the library. I was at the library from 8 until 2:30, finishing off Java Development with Ant. I really can't say enough about this book - it's a must-have for anyone who develops in Java. As I told my wife, it's the best technology book I've ever read. It's got tons of great stuff on testing (JUnit, HttpUnit, Canoo WebTest, Cactus), deployment (to Tomcat, to WebLogic) and a very good chapter on XDoclet.

The best part is that it's got tons of examples that you can use immediately if you're already using Ant. You might even be able to download them and copy/paste. I also found you can get it at half-price as an eBook ($22.47, PDF). I think it's a great resource as a reference manual, and you probably don't even have to read the whole thing like I did.

Posted in General at Oct 19 2002, 03:34:58 AM MDT Add a Comment

Ant and JUnit.

I reduced the build.xml file on my project drastically this morning (more than 900 lines). I used to have a task per testcase and was able to consolidate from this:

<!-- =================================================================== -->
<!--            Run the UserDAO test                                     -->
<!-- =================================================================== -->
<target name="test.userDAO" depends="compile">
  <echo message="Running UserDAO Test -------------------"/>
  <junit printsummary="yes" haltonfailure="yes" 
    haltonerror="yes" fork="yes">
      <jvmarg value="-Djunit.conf=./src/onpoint/PersistenceTestValues.ini"/>
      <classpath>
          <pathelement path="${webapp.target}/WEB-INF/classes"/>
      </classpath>
      <classpath refid="classpath"/>
      <formatter type="plain" usefile="false"/>
      <test name="com.onpoint.webapp.persistence.UserDAOTest"/>
  </junit>
</target>

To this:

<!-- =================================================================== -->
<!--            Run all the Persistence tests                            -->
<!-- =================================================================== -->
<target name="test.persistence" depends="compile">
    <echo message="Running Persistence Tests -------------------"/>
    <junit printsummary="yes" haltonfailure="yes" 
	  haltonerror="yes" fork="yes">
      <jvmarg value="-Djunit.conf=./src/onpoint/PersistenceTestValues.ini"/>
      <classpath>
          <path refid="classpath"/>
          <pathelement path="${webapp.target}/WEB-INF/classes"/>
      </classpath>
      <formatter type="plain" usefile="false"/>
      <test name="com.onpoint.webapp.persistence.${testcase}" if="testcase"/>
      <batchtest unless="testcase">
          <fileset dir="${webapp.target}/WEB-INF/classes" 
              includes="**/persistence/*Test.class"/>
      </batchtest>
  </junit>
</target>

And I got to remove the AllTests.java file in the persistence package! You probably knew this already, but just in case...

Thanks to Erik Hatcher for Java Development with Ant. I studied this book for three hours yesterday and it's already increasing my productivity! I hope to finish it by tomorrow afternoon - only 300 pages to go. It's pretty cool when you're reading someone's book and getting e-mails from them at the same time.

Posted in General at Oct 17 2002, 04:37:09 AM MDT Add a Comment

Struts and XDoclet.

The last release of XDoclet has many more Struts-related features; such as building your validator.xml file and support for adding plug-ins to your struts-config.xml. It seems that a lot of work has been done by Erik Hatcher to make this happen. Is this the same Erik Hatcher that wrote the Ant book I'm reading? I think so. Erik sent this e-mail to the struts-dev mailing list this morning with a brief how-to on integrating XDoclet and Struts.

Posted in Java at Oct 04 2002, 05:56:05 AM MDT Add a Comment

Ant 1.5.1 Released!

It doesn't appear like there are too many changes, but there's a new version nevertheless. As most of you open source developers know, it's much easier to keep up with the lastest version (or nightly builds) than to try to migrate when a new version comes out. If you don't, you mind end up with a XDoclet nightmare similar to the one I'm having with Roller.

Posted in General at Oct 03 2002, 04:08:37 PM MDT Add a Comment

Upgrading Rampage.

I went on an upgrading rampage yesterday and ended the day with the worst feeling. My Struts 1.1b2 application appeared to work fine on most things, however, I kept getting the following error when I tried to submit a form with indexed input values:

java.lang.reflect.InvocationTargetException
 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
 	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
 	at java.lang.reflect.Method.invoke(Method.java:324)
 	at org.apache.commons.beanutils.PropertyUtils.getIndexedProperty(PropertyUtils.java:475)
 	at org.apache.commons.beanutils.PropertyUtils.getIndexedProperty(PropertyUtils.java:410)
 	at org.apache.commons.beanutils.PropertyUtils.getNestedProperty(PropertyUtils.java:749)
 	at org.apache.commons.beanutils.PropertyUtils.getProperty(PropertyUtils.java:780)
...
Caused by: java.lang.IndexOutOfBoundsException: Index: 0, Size: 0
 	at java.util.ArrayList.RangeCheck(ArrayList.java:508)
 	at java.util.ArrayList.get(ArrayList.java:320)
 	at com.onpoint.webapp.form.QuestionForm.getAnswer(QuestionForm.java:321)

The items I attempted to upgrade were:

After hours of banging my head against the wall for hours and even trying versions of my code from a week ago, I decided to try the "classic" compiler in Ant. Which I soon learned should now be named "modern." Whalla - it fixed the above problem! My advice - DON'T USE JIKES 1.16 to compile your Struts-based web app! I also found that switching to modern from jikes reduced my build process from 1 min 20 seconds to 50 seconds - I'm sold. my face after fixing this bug

I ended up not upgrading to Tomcat 4.1.12 (rather to 4.0.5) because I found that my error-pages were not being recognized. I hope that a client using the application never sees an error page, but if they do - I'd rather them see my pretty page vs. a stacktrace.

Posted in Java at Sep 25 2002, 06:12:06 AM MDT Add a Comment

I recommend Eclipse.

In response to Russell's post on IDE's, I figured I'd give my opinion. I hate IDE's - for the past couple of years, I could never bring myself to use one for a few reasons (1) too slow, (2) I liked HomeSite too much and it worked for all my Java dev needs, and (3) I didn't like the UI's - not pretty enough for me. Granted, most of these are bad reasons, but we're allowed our opinions right? But with Eclipse 2.0, it's given me enough value-add that I now use it everyday, over IDEA and Sun ONE Studio 4 (a.k.a Forte for Java). It's still slower than HomeSite, but I really like it's look and it does everything I need (although I still use Ant to compile/deploy).

Posted in General at Aug 28 2002, 11:48:52 AM MDT Add a Comment

XDoclet and Struts Validator

From the struts-dev list and Erik Hatcher:

My XDoclet Struts Validator validation.xml (for Struts 1.1) has been posted to the XDoclet tracker.
I'm hoping it will be added to the codebase and put into the upcoming new release of XDoclet (although I'm using XDoclet from CVS builds). Read the HTML file attachment on the issue page above for an example of how it works. If you're hand-coding validation.xml and using ValidatorForm extensions then this is for you!

I can't wait to use XDoclet in my next project! On my current project, I've already written most of the ValidationForms I need. I used the Generator package to do this, but I hope to either (1) refactor my current project to use Castor/XDoclet like Roller, or (2) use it on my next project.

I ordered an Ant book this evening in hopes of learning a lot more about Ant. I think I know a lot, but there's always room for more knowledge.

Posted in Java at Aug 25 2002, 03:47:45 PM MDT Add a Comment