
Apache OpenEJB
Copyright 1999-2014 The Apache OpenEJB development community

This product includes software developed at
The Apache Software Foundation (http://www.apache.org/).
==========================================================
junit - JUnit is a simple framework to write repeatable tests (http://junit.org/)
License: Eclipse Public License - v 1.0
