ONess 0.5 + Tomcat 5.0.30 bundle released

I’ve released a new ONess 0.5 version that comes bundled with Tomcat 5.0.30 so it’s ready to run in less than a minute. Uses hsqldb to avoid the need of setting up a database.

Just download from Sourceforge, uncompress, go to the “bin” dir and run startup.bat or
Note that the first time the pages are accesed it may be slow because they get compiled. After that it will run faster.

Spring Framework 1.1.3 released

A new version of the Spring Framework, the 1.1.3 has just been released ant it’s available to maven users from the ibiblio repository.

I'm pleased to announce that Spring 1.1.3 has just been released.
This is a bugfix and minor enhancement release in the 1.1 series;
most importantly, JDK 1.3 compatibility is fully restored.
Among the new features in this release are:

* added "setResourceLoader" method to GenericApplicationContext, for overriding the default resource loading strategy
* added FileSystemResourceLoader, resolving paths as file system resources rather than as class path resources
* BeanWrapperImpl automatically registers a default ResourceArrayPropertyEditor
* added CustomCollectionEditor, by default registered to convert between Set, SortedSet and List (when necessary)
* added "fileEncoding" and "propertiesPersister" properties to PropertyResourceConfigurer
* reworked DefaultListableBeanFactory's "getBeansOfType" to return FactoryBean instances when passed a FactoryBean type
* DefaultXmlBeanDefinitionParser resolves "set" tag as LinkedHashSet on JDK 1.4, falling back to HashSet on JDK 1.3
* factored out AbstractRefreshableApplicationContext as base class of AbstractXmlApplicationContext
* added "setIgnoreUnknownFields" method to DataBinder, enforcing request parameters to match fields when turned "false"

* added "execute(ConnectionCallback)" method to JdbcTemplate, allowing any kind of operation on a given Connection
* added DB2SequenceMaxValueIncrementer, implementing the DataFieldMaxValueIncrementer interface for a DB2 sequence
* fixed Hibernate/JTA synchronization to also work with EJB remote transaction propagation (with >1 thread involved)
* added "transactionConfigClass" and "transactionConfigProperties" customization properties to SqlMapClientFactoryBean

* added optional "proxyInterface" property to JndiObjectFactoryBean, for exposing a proxy rather than the plain object
* added "lookupOnStartup" and "cache" properties to JndiObjectFactoryBean, allowing for lazy lookup on first access etc
* added "codebaseUrl" property to HttpInvokerClientInterceptor, specifying a URL for dynamic class download
* added support for dynamic class downloading to AbstractHttpInvokerRequestExecutor and its subclasses

* DispatcherServlet by default cleans up request attributes after include request (configurable via "cleanupOnInclude")
* UrlBasedViewResolver supports a "forward:" prefix too, for forwards to other controllers through special view names
* added "attributes" (Properties) and "attributesMap" (Map) properties to UrlBasedViewResolver, for static attributes
* InternalResourceView performs an include if the response has already been committed (-> forward not possible anymore)
* JstlView and TilesJstlView respect a JSTL "localizationContext" config in web.xml, checking those messages first
* added overloaded "createVelocityContext" and "exposeHelpers" methods to VelocityView, with passed-in servlet response
* added "toolAttributes" property to VelocityView, taking attribute name / tool class name pairs for tools to expose
* added JasperReportsXxxView to allow for convenient rendering of CSV/HTML/PDF/XLS web views with Jasper Reports
* added MappingDispatchActionSupport class, as convenience subclass of Struts 1.2's MappingDispatchAction

Maven AspectJ plugin 3.2 released

The maven team is pleased to announce the Maven AspectJ Plugin 3.2 release!

The main change is the ability of weaving only a subset of aspects.

The maven team is pleased to announce the Maven AspectJ Plugin 3.2 release!

Changes in this version include:

  New Features:
o Added maven.aspectj.argfiles and maven.aspectj.weaveAspectSources properties.
  Issue: MPASPECTJ-12. Thanks to Mark Proctor.
o Added maven.aspectj.noweave and maven.aspectj.lint properties. Issue:

  Fixed bugs:
o Added maven.aspectj.source and maven.aspectj.time properties that where
  incorrectly removed.

To automatically install the plugin, type the following on a single line:

maven plugin:download -DgroupId=maven -DartifactId=maven-aspectj-plugin -Dversion=3.2

For a manual installation, you can download the plugin here:

Have fun!
-The maven team

Maven 1.0.1 Released

After a long time from 1.0, the 1.0.1 release is out!.

The maven team is pleased to announce the Maven 1.0.1 release!


This release contains bugfixes since the Maven 1.0 release. In addition, all of
the latest stable plugin releases are included, which include both bugfixes and
some new features.

We recommend that all users upgrade to this release, in particular those using
pre-1.0 betas or release candidates.

Maven is a project management and project comprehension tool. Maven is based
on the concept of a project object model: builds, documentation creation, site
publication, and distribution publication are all controlled from the project
object model. Maven also provides tools to create source metrics, change logs
based directly on source repository, and source cross-references.

Changes in this version can be found here:

Please note that each plugin has its own changes report - please refer to the plugins
site to see the plugin you are interested in.

Have fun!
-The Apache Maven Team

Another Maven success story: Acegi Security System for Spring

Another project I have just migrated to Maven is the Acegi Security System for Spring. The folder layout was changed (retaining CVS history) to use Maven suggestions, although it’s not needed. The core, subprojects, samples and docs (including docbook generation) were migrated from ant.

Maven multiproject: sharing common files between subprojects

Are you using multiproject and want to use common files in all your subprojects?

Then you can define a variable “rootdir” pointing to the dir where common files are stored, so they can be refered as ${rootdir}/filename, both in your properties (, and project.xml files.

To do so you just need to create a maven.xml in the top level project (supposing you have a LICENSE.txt in the top level dir, you can use any other file). This var will point to the same dir from every subproject.


    <!-- =========== Set root dir =========== -->

    <j:set var="rootdir">${basedir}</j:set>

    <j:while test="${true}">
        <util:available file="${rootdir}/LICENSE.txt">
        <j:set var="rootdir">${rootdir}/..</j:set>

    <ant:dirname property="rootdirname" file="${rootdir}/project.xml"/>
    <j:set var="rootdir">${rootdirname}</j:set>
    <echo>Using root dir: ${rootdir}</echo>


You’d like to set some properties using this new var

# License plugin settings

# multiproject