Immutables allows you to embrace immutablity to tackle complexity and concurrency challenges. To get the benefits of immutability in Java, there's an annotation processor to easily create simple and consistent value objects. You can think of it as Guava's Immutable Collections but for regular objects. It includes support for JSON marshaling, MongoDB repositories, and JAX-RS.
WebAnno is a general purpose Web-based annotation tool for a wide range of linguistic annotations. It offers annotation project management, freely configurable tagsets, and the management of users in different roles. It uses technology from the brat rapid annotation tool for visualizing and editing annotations in a Web browser. It supports annotation and visualization of arbitrarily large documents, pluggable import/export filters, the curation of annotations across various users, and farming out annotations to a crowdsourcing platform.
hyphenType is a commandline interface for Java. It turns raw arguments into Java objects, organizes return codes to the operating system, stops exceptions from going to the console, has beautiful --help, supports internationalization, handles input channels, and offers advanced unit testing. Additionally, hyphenType provides a tool to dynamically edit Java annotations and to load annotation properties from property files.
CarrotGarden SCR provides an OSGI Service-Component descriptor generator according to a proposal described in RFC 0172 Declarative Services Annotations. It is comprised of annotations, a Maven plugin, and an Eclipse connector, and allows for interactive SCR component descriptor updates in Eclipse, which are compatible with non-interactive Jenkins Maven builds.
stupid-xml is a ridiculously simple annotation-based XML stream parser for Java. The main goal of this project is to get the strings you care about out of XML and into Java as quickly as possible. You define a simple model class, specify the relative paths for its fields, and it will start generating instances for you from an XML stream. The functionality is limited. It will only parse Strings into your model, but this keeps everything extremely simple. Once you have the Strings in your model, you can perform filtering or more complex conversions.