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 "java". 1,857 entries found.

You can also try this same search on Google.

[ANN] Equinox 1.5 Released

This release's major new feature is dependency downloading using Maven 2's Ant tasks. The main reason I used Maven 2 over Ivy is because I've heard rumors that Ant 1.7 will include dependency downloading - and they're planning on integrating the work that Maven has already done.

One of the nice things about using Maven 2's Ant Tasks, is you can download Maven 2 and generate your Eclipse or IDEA (possibly even Netbeans) project files using "mvn eclipse:eclipse" or "mvn idea:idea". You can also use Maven 2 to build and test things if you like. The only thing that doesn't currently when using Maven to test Equinox is the web tests with Cargo. I can try to get those working if there's enough demand. For now, you'll have to use Ant if you want to test the UI.

All of the frameworks used in Equinox, as well as its build/test system is explained in Spring Live. A summary of the changes are below (detailed release notes can be found in JIRA):

  • Removed packaged JARs in favor of Maven 2's Ant Tasks. Dependencies are now downloaded on-demand, greatly reducing the size of Equinox-based applications.
  • By specifying compile, test and runtime dependencies in a pom.xml file, Equinox applications can now be built with Maven 2. The only difference between building with Maven 2 and Ant (at this time) is that the M2 build does not support testing with Cargo. However, there is an M2 Cargo plugin so this shouldn't be hard to fix if you have that itch.
  • Added DWR, Script.aculo.us and Prototype to simplify Ajax development.
  • Added Beandoc support - simply run "ant beandoc" to see javadoc-style documentation of Spring context files.
  • Refactored UserManagerTest to be UserManagerImplTest; renamed UserManagerIntegrationTest to UserManagerTest.
  • Changed BaseDAOTestCase to extend AbstractTransactionalDataSourceSpringContextTests.
  • [Hibernate] Added example ehcache.xml to web/WEB-INF/classes for default cache settings.
  • [JSF] Removed client-side validation because corejsf-validator.jar causes issues with Spring's Ant-style path matching.
  • [Spring] Fixed number editor and edit logic in UserFormController.
  • [Struts] Fixed issue with installation where ContextLoaderPlugin was loading ApplicationContext a 2nd time b/c the listener was not being commented out.
  • Dependent packages upgraded:
    • Cargo 0.6
    • Hibernate 3.1
    • iBATIS 2.1.6
    • JPOX 1.1.0 Beta 4
    • MyFaces 1.1.1
    • PostgreSQL JDBC Driver 8.1 Build 404
    • Spring 1.2.6
    • Struts 1.2.8

Download. For more information about installing the various options, see the README.txt file.

Demos:

The basic Equinox download contains all the various web and persistence framework options in the "extras" folder. If you have issues replacing the web framework or persistence engine, please enter an issue in JIRA and I'll build and upload a customized version for you.

Posted in Java at Dec 28 2005, 07:14:43 AM MST 4 Comments

Struts 1.2.8 has client-side validation issues just like 1.2.7

This weekend, I upgraded AppFuse from Struts 1.2.4 to 1.2.8. After failing to upgrade to 1.2.7, I was a little leary of this release - for good reason. It turns out, the 1.2.8 release has the same client-side validation issue as 1.2.7. The good news is it's a Commons Validator issue this time, and you can fix it by upgrading to Commons Validator 1.2.0 (it ships with 1.1.4).

If you're using custom client-side validators, you might have to patch your functions. Here's what I did to mine:

- oTwoFields = eval('new ' + formName.value + '_twofields()');
+ oTwoFields = eval('new ' + retrieveFormName(form) + '_twofields()');

Also, if you'd like to use Spring MVC with Commons Validator 1.2.0, you'll need to patch springmodules-validator. Or you can just download the one from AppFuse's CVS.

Posted in Java at Dec 19 2005, 04:55:37 PM MST 2 Comments

The Ajax Experience

The Ajax Experience looks like it's going to be an excellent show.

We will have the website for the conference launched just after christmas, but here is a taste of the quality speakers that we have confirmed for the event:

  • Scott Dietzen, CTO of Zimbra
  • Alex Russell and Dylan Schiemann of the Dojo Toolkit
  • Thomas Fuchs of Script.aculo.us
  • Sam Stephenson of Prototype and 37 Signals
  • Bob Ippolito of MochiKit
  • Joe Walker of DWR
  • Douglas Crockford of JSON-RPC, and Yahoo!
  • Jonathan Hawkins of Microsoft Atlas
  • Patrick Lightbody of WebWork/Struts Ti
  • Bill Scott of Rico and Yahoo!
  • Eric Pascarello of Ajax in Action
  • Glenn Vanderburg, JavaScript expert
  • Brent Ashley, noted Ajax expert
  • Michael Mahemoff of Ajax Patterns
  • Greg Murray of the JavaServer Faces team at Sun

This is a show I'd love to attend. However, it ends the day before Mother's Day - WTF is up with that?! For those of us who happen to be family men and are planning on attending JavaOne, this sucks. If I want to attend The Ajax Experience, I'd have to fly back on Sunday and then fly back to San Fran on Monday for JavaOne. Booo hisss. Looks like I'll be missing this show.

Posted in Java at Dec 19 2005, 01:12:15 PM MST 4 Comments

RE: Oracle donates ADF Faces to Apache MyFaces

I read the news initially on the AMIS Technology blog, which points to the original news-breaker on the IT-eye Weblog. This is huge for the JSF community IMO. The main compelling feature behind component-based frameworks is components. Without components, there's not much point in them.

By christmas a website and mailing list will be available for the incubator project. You will also be able to download the source code. By New Year a subversion repository should be available with the source code. And the intention is to move out of incubator by JavaOne 2006, which I think is in May.

So why is Oracle doing this? Well it's obvious that Java needs to have a good component based framework to compete with .NET. And Oracle believes that JSF can be this Framework, but a good implementation is needed, which is what ADF Faces provides.

What does ADF Faces, or better Apache Faces Cherokee contain? More than 100 components, an Html AJAX renderkit (but it doesn't use HttpXmlRequest, but iframes), a dialog framework, personalization, skinning, and a lot more.

I wonder if Oracle has a solution for the "everything is a post" problem? ;-)

JSF is cool, and easy to be productive in, but so is Tapestry, WebWork and Spring MVC. I find it somewhat ironic that the Struts committers turned down Shale as Struts 2.0, but they voted in WebWork.

I think component-based frameworks might be the way of the future. However, after playing with OpenLaszlo for the past few weeks - I can't help but think that this is what component-based frameworks should be. Many components, easy to use, and the output is a rich-client out-of-the-box. In addition to the Flash output they have now, I've heard rumblings that OpenLaszlo may support other outputs in the future (i.e. XHTML/Ajax).

It's pretty cool to see continued excitement and innovation in Java. Competition is good, and will only make each of these frameworks stronger and easier to use.

Posted in Java at Dec 12 2005, 02:26:45 PM MST 8 Comments

The Spring Experience - what a show!

Last week, I traveled to beautiful South Florida to attend The Spring Experience conference. This show was put on by Interface21 and No Fluff Just Stuff. Keith Donald (from I21) and Jay Zimmerman (from NFJS) were the organizers and both did an excellent job. This was one of the best conferences I've attended this year, and I've been to many.

Well done gentleman, can't wait for the next one. To read my posts from the event, please see the links below:

This week, most of the Virtuas Practice Leaders are at ApacheCon. Let's hope they blog a little about the event.

Posted in Java at Dec 12 2005, 10:41:41 AM MST Add a Comment

New AppFuse Documentation: Axis, Handling Complex POJOs and Korean Translation

A few AppFuse enthusiasts have been hard at work, writing new documentation and tutorials. First of all, Mika Göckel has written a HowTo implement Axis tutorial - complete with an installation package! I tried it out last night, and it works quite well with AppFuse 1.8.2. If you're using a build from CVS, you'll need to make some modifications because web.xml is no longer generated. Hopefully we can fix that and get this "extras" package into CVS this week.

The 2nd tutorial is titled Handling complex objects with XDoclet, Hibernate and Struts. This one is written by the AppFuse committer Thomas Gaudin. Thomas has now written 5 tutorials, all of which include source code and step-by-step instructions.

Last, but certainly not least, DongGuk Lee has translated a large amount of AppFuse's documentation to Korean. I'm amazed that the QuickStart Guide and Tutorials have now been translated to 6 Languages!

Thanks for the contributions everyone - you guys rock!

Posted in Java at Dec 05 2005, 08:53:21 AM MST 5 Comments

Remotely debug your app in Eclipse

Levent Gurses has a nice blog entry on Remote Debugging with Eclipse. I was able to use his instructions a couple months ago to attach to a remote instance of WebLogic (8.1 SP4) to debug an application. The beauty of his instructions is I had it all working in about 5 minutes. Yesterday I realized you could use the settings in *any* application server, and remotely debug it - or at least you should be able to. Today I noticed he added instructions for Tomcat and JBoss. Good stuff - thanks Levent!

Here's the settings you need in your startup script - just in case Levent's blog is down the next time I need this info.

-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=1044

Posted in Java at Dec 02 2005, 11:04:19 AM MST 20 Comments

Sun's "free" tools

Want to know what I think about Sun giving away it's server and tools away for free? If so, check out this post on the Virtuas Blog. Yeah, that's blog #3 for me.

Posted in Java at Dec 02 2005, 08:46:33 AM MST 1 Comment

Ant colored logging on Windows

In the past, I've had issues getting Ant's AnsiColorLogger to work on Windows with Cygwin. Thanks to a friend of mine, Steve DeRidder, I was finally able to figure out a working solution. Here's what you need to do if you're using Cygwin.

Install the "rxvt" component of Cygwin through its update tool. Once you've done that, there are two options for integration:

  • Right-click context menu: Download rxvt_reg.reg to your hard drive. Edit it with a text editor to point to your Cygwin installation and save it. Then right click on the file and "merge" it into your registry.
  • Shortcut: Create a new shortcut with the following command (all on one line, adjust your Cygwin path accordingly):
    C:\Tools\cygwin\bin\rxvt.exe -bg white -fg black -sr -sl 5000 -fn "Fixedsys" 
    -ls -e /usr/bin/bash --login -c "exec /bin/bash -rcfile ~/.bashrc"
    

Thanks for the tip Steve!

Posted in Java at Dec 01 2005, 06:19:51 PM MST Add a Comment

Free Forums from Nabble.com

Nabble seems like a pretty cool site:

Our forums are truly public, democratic and absolutely free. Nabble's advanced community filtering gives you only the best content without the need for moderation. Find forums that interest you or easily start your own in minutes.

I first found out about Nabble a few days ago when I started seeing messages on the AppFuse mailing with a from address of "sent by Nabble.com". I did some searching and found they have a set of AppFuse Forums. The cool thing about these forums is they're not only a set of mailing list archives, but they also allow you post to the mailing list. Nabble forums are similar to Jive Forums (like OpenSymphony has) - they keep the forums and the mailing lists in synch, which is pretty cool IMO.

I spoke (via e-mail) with Will Lin - one of the co-starters of the Nabble project. Here are a few things he had to say about Nabble:

The goal of Nabble is to do the discussion right, just like Google did the search right. There are many problems with the current forms of discussions in mailing lists, message boards, user groups etc. Most importantly, (1) the search, most forum search are broken, a lot of people use Google's site:archive.domain.com to search discussion archive - what a hack, because Google does not index all the messages especially the recent ones.

In the mailing list case, developers get mad because users post dumb questions repeatedly, but the users don't have a good way to search past discussions ... (2) moderation, most discussions rely on one or two strong moderator to resolve spam and flame wars, with Nabble, all the members can work togeter to rate up (promote) top contributors, and rate down (drive out) spam and trouble makers; (3) cataloging - similar topic discussions should be able to be combined for browsing and search.

One of the coolest features of Nabble is you can create your own forum, and skin it however you like. I've done this for AppFuse, and created an easy to remember alias at http://appfuse.org/forums. You can also check out the easily-searchable Roller Archives, as well as many other OS project's mailing list archives.

Posted in Java at Nov 30 2005, 10:20:07 PM MST 5 Comments