Skip to content


Subversion checkout URL

You can clone with
Download ZIP
SoftwareMill Common library
Java Other

SoftwareMill Common project

Most of the modules are usable stand-alone and do not require other modules. Simply include the jar in your project and you're ready to use it. See the individual module READMEs for more information.

Jars and sources are available in our Maven repositories:

    <name>SoftwareMill Snapshots</name>
    <name>SoftwareMill Releases</name>

To use SoftwareMill Common in a project define a parent section in the main pom of the project:


where [VERSION] is the version you want to use in your project.

Important Note: Since version 74 SoftwareMill Common uses com.softwaremill package names instead of pl.softwaremill that were present in version 73 and earlier.

Modules overview

CDI extensions

  • Transaction interceptors
  • Stackable security interceptors
  • Implementation of assisted inject in Weld (autofactories)
  • Object-services (polymorphic extension methods)
  • Static bean injection

CDI+JSF2 integration utilities

  • Transaction phase listeners ("open session in view")
  • Security phase listeners
  • Navigation handlers
  • i18n, messaging, validation utilities

Configuration reader

Reads key-value configuration files either from JBoss's conf directory (which have priority) or from the classpath.

Amazon AWS Utilities

Softwaremill Parent

Our BOM.

Testing utilities

Test-with-DB framework using Arquillian

Lets you run tests that use a database.

Selenium+JBoss UI testing utilities

FEST Assert for joda time classes

Test server

For testing of requests sent to server

Java utilities

Backup utilities

Scripts and java classes to backup SimpleDB domains and upload them to S3.

Debug utilities

A timing interceptor + web filter + portable extension for profiling CDI beans.


Paypal utilities for handling paypal requests (IPN) and generating paypal pay buttons (custom cart).

Licensed under the Apache2 license. Softwaremill 2010-2012.

Something went wrong with that request. Please try again.