Skip to main content
  • Log in
  • Manage Cookies
projects.eclipse.org
Download
  • Projects
  • Working Groups
  • Members
  • Community
    • Marketplace
    • Events
    • Planet Eclipse
    • Newsletter
    • Videos
    • Blogs
  • Participate
    • Report a Bug
    • Forums
    • Mailing Lists
    • Wiki
    • IRC
    • Research
  • Eclipse IDE
    • Download
    • Learn More
    • Documentation
    • Getting Started / Support
    • How to Contribute
    • IDE and Tools
    • Newcomer Forum
  • More
      • Community

      • Marketplace
      • Events
      • Planet Eclipse
      • Newsletter
      • Videos
      • Blogs
      • Participate

      • Report a Bug
      • Forums
      • Mailing Lists
      • Wiki
      • IRC
      • Research
      • Eclipse IDE

      • Download
      • Learn More
      • Documentation
      • Getting Started / Support
      • How to Contribute
      • IDE and Tools
      • Newcomer Forum
  1. Home
  2. Projects
  3. Eclipse Technology
  4. Eclipse Transformer

Eclipse Transformer

Primary tabs

  • Overview(active tab)
  • Downloads
  • Who's Involved
  • Developer Resources
  • Governance
  • Contact Us

The project can mutate individual class files and thus could be used in a class loader to dynamically rename type references at runtime while classes are being loaded. This could allow a program such as an application server to use this support in its class loaders to allow existing libraries using older type name, such as javax. types, to be transformed, loaded and executed in a newer environment using renamed types.

The project can also mutate all types in a JAR or WAR file. This could be used during a tooling phase to process dependencies and application jars prior to assembly so that all the classes are transformed to the renamed types.

The tools are rule driven which allow users to control which class files in a JAR/WAR are transformed and how they are transformed. Different users may want different rules depending upon their specific needs. While the initial impetus for the project was the Jakarta EE package renaming issue, the scope of the project is broader to support other renaming scenarios. So the tools can be used for any renaming challenge, not just the specific Jakarta EE package renames.

The tools provides an API allowing it to be embedded in a runtime to dynamically transform class files during the class loader definition process. The API also supports transforming JAR files. A CLI is also provided to allow use from the command line. Ultimately, the tools can be packaged as Gradle and Maven plugins to incorporate in a broader tool chain.

The tools are based upon the class file and JAR file manipulation capabilities of the the Bnd tool. Bnd will be a dependency of the tools and is not part of the project.

Licenses: 
Apache License, Version 2.0
Eclipse Public License 2.0
Contribution Activity: 
Commits on this project (last 12 months).
Incubating - Eclipse Transformer

Project Links

  • Wiki

Related Projects

Project Hierarchy:

  • Eclipse Technology
  • Eclipse Transformer

Tags

Technology Types
  • Tools
Build Technologies
  • Maven

Eclipse Foundation

  • About Us
  • Contact Us
  • Donate
  • Members
  • Governance
  • Code of Conduct
  • Logo and Artwork
  • Board of Directors

Legal

  • Privacy Policy
  • Terms of Use
  • Copyright Agent
  • Eclipse Public License
  • Legal Resources

Useful Links

  • Report a Bug
  • Documentation
  • How to Contribute
  • Mailing Lists
  • Forums
  • Marketplace

Other

  • IDE and Tools
  • Projects
  • Working Groups
  • Research@Eclipse
  • Report a Vulnerability
  • Service Status

Copyright © Eclipse Foundation. All Rights Reserved.

Back to the top