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
    • Search

  1. Home
  2. Projects
  3. Eclipse EE4J
  4. Jakarta Commons
×

Informative message

This is a project proposal that is currently under review by the EMO and community. A corresponding open source project has not yet been created.
×

Status message

A creation review has been created for this proposal.

Jakarta Commons

Basics
This proposal is in the Project Proposal Phase (as defined in the Eclipse Development Process) and is written to declare its intent and scope. We solicit additional participation and input from the community. Please login and add your feedback in the comments section.
Parent Project: 
Eclipse EE4J
Specification: 
Jakarta EE
Patent License: 
Implementation Patent License
Background: 

Jakarta specifications started suffering from repetition of APIs and utility classes that serve the same purpose in different specifications.

The first attempt to solve such an issue resulted in Jakarta Common Annotations. It seems there is now time to enhance the scope and add additional resources to a common project.

Scope: 

Jakarta Commons provides a shared space for the community to define utilities, annotations and APIs to be used by other Jakarta specification projects.

In scope:

  • Move Jakarta Common Annotations to this project, and release it as a standalone jar (under the same coordinates)
  • Provide common APIs and utilities to increase consistency of Jakarta EE Specifications (such as TypeLiteral/GenericType, JPMS support)
  • Provide multiple artifacts (jars), as useful for specified components

Out of scope:

  • Utilities for implementations (such as codecs, parsing, security)
Description: 

After cooperating on a few Jakarta EE specifications (and looking into their implementations as well), I have realized there are certain problems solved over and over again. This leads to duplicity of APIs and to inconsistencies (where the same problem is solved differently by each specification). I think this should be remedied, and a common specification should be created to address these common problems.

Whenever you ask a question "there is this nice API in CDI that would be very useful for my standalone specification, how do I re-use it", you may have discovered a component that would fit the Jakarta Commons project. 

 

Why Here?: 

This project would become part of Jakarta EE platform, so it can only be "here".

Licenses: 
Apache License, Version 2.0
Future Work: 

The following areas are considered for this project (open for discussion/additions):

  • Builder API
  • Generic Type API (mentioned above)
  • Priority utilities (to increase consistency for new projects that want to order by priority)
  • JPMS support - to help with Java module system (if feasible)
  • Java Language Model - CDI Lite is introducing a model that can be used for build time processing. Such a model may be useful for other specifications as well
  • Semantic versioning - possible annotations + processing (such as a maven plugin) to generate artifacts for OSGi 
  • Discovery support (Introspection API) - remove classpath scanning requirements from specifications (maybe similar to what Jandex is doing)

The community base should be members of other Jakarta EE specifications

People
Project Leads: 
Tomas Langer
Committers: 
Dmitry Kornilov
Tomas Langer
Emily Jiang
Mentors: 
Ivar Grimstad
Source Code
Initial Contribution: 

Current code:

  • Jakarta Common Annotations (existing code)

Other should be specified as part of this project.

Source Repository Type: 
GitHub
  • Sign in to post comments.

Eclipse Foundation

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

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