This project aims to develop:

  1. A Java library that allows Java applications to seemlessly interoperate with Microsoft Component Object Model.
  2. A Java tool that imports a COM type library and generates the Java definitions of that library.

The goal of the project is to provide a better integration of Java and COM.

Feature Highlights

  1. Takes advantages of J2SE 1.5 features to improve usability.
  2. Binds directly to the vtable interface (not IDispatch) for improved performance and broeader support for more COM interfaces.


Download the distribution from here.



  1. Quick Introduction
  2. User's Guide --- the runtime semantics of com4j
  3. Distributing your applications that use com4j
  4. Using COM events with com4j
  5. Using tlbimp from Ant


  1. com4j annotation guide
  2. Garbage collection and reference counting


The project is in active development. Help wanted! Contact the project owner if you are interested.