bnd is the Swiss army knife of OSGi, it is used for creating and working with OSGi bundles. Its primary goal is take the pain out of developing bundles. With OSGi you are forced to provide additional metadata in the JAR's manifest to verify the consistency of your "class path". This metadata must be closely aligned with the class files in the bundle and the policies that a company has about versioning. Maintaining this metdata is an error prone chore because many aspects are redundant.
Lets you build an executable jar with Maven2, containing all dependencies.
You can do that with the assembly plugin too, but that will just unpack all dependencies together with your classes in one directory and then repack that directory into a new jar. Doing it that way means files will overwrite each other if they have the same names in the same path, which is quite common with resources such as log4.properties and even other more important files.
With onejar-maven-plugin, you'll instead get a nice clean super jar with the dependency jars inside.
# Direct manipulation of heterogeneous dependency information in an Eclipse RCP environment.
# Analysis and visualization of very large applications.
# For Java, dependency discovery at the class member level.
# Import of FileSystems as source of dependency information.
# Collapse child dependency into parent entities to reveal class level interactions.
# Selection of nodes by type, edge-count, and paths.
JBoss Tattletale is a tool that can help you get an overview of the project you are working on or a product that you depend on.
The tool will provide you with reports that can help you
* Identify dependencies between JAR files
* Find missing classes from the classpath
* Spot if a class is located in multiple JAR files
* Spot if the same JAR file is located in multiple locations
* With a list of what each JAR file requires and provides
* Verify the SerialVersionUID of a class
* Find similar JAR files that have different version numbers
* Find JAR files without a version number
* Locate a class in a JAR file
* Get the OSGi status of your project
* Remove black listed API usage
JBoss Tattletale will recursive scan the directory pass as the argument for JAR files and then build the reports as HTML files.
The main HTML file is: index.html
JBoss Tattletale is licensed under GNU Lesser General Public License (LGPL) version 2.1 or later.
We hope that JBoss Tattletale will help you in your development tasks !
Reports
* Dependants
* Depends On
* Graphical Dependencies
* Transitive Dependants
* Transitive Depends On
* Class Location
* OSGi
* Eliminate Jar files with different versions
* Invalid version
* Multiple Jar files
* Multiple Locations
* No version
* Black listed API
* JAR archive
Post in the Spring Forum:
"
The following is a solution to the circular dependency issue. It's especially useful when you have 3 or more services locked in a circular dependency. The solution involves breaking the circular dependency and instead using a custom injector to inject the dependency. This is achieved by using a BeanPostProcessor and some custom Annotations.
"
Ivy is a popular dependency manager focusing on flexibility and simplicity.
Find out more about its unique enterprise features, what people say about it,
and how it can improve your build system!
Calculates various metrics for projects, packages and compilation units. Includes both simple counts like lines of code as well as more complex metrics such as the McCabe cyclomatic complexity.