All these annotations are for Java EE containers and application servers.
A clear solution in 4.0 or 5.0 would be to develop our own annotations for
Maven Domain (not EE domain) within or Java package.

This way we would reach:
+ annotations looking similar to EE annotations
+ isolation on the package level
+ the purpose of the annotations would match specific Maven domain
+ the JavaDoc would not be EE specific anymore

Many coleagues have negative opinion to my proposal but this was only mine
view.

On Mon, Oct 14, 2019 at 11:40 AM Stuart McCulloch <mccu...@gmail.com> wrote:

> The JSR-250 API was exposed in
> https://issues.apache.org/jira/browse/MNG-6084
>
> It provides the @PostConstruct, @PreDestroy, and @Priority standard
> extension annotations for use by plugin components.
>
> Isolating that API would affect any plugin components that rely on MNG-6084
> - they would then need to revert back to Initializable and Disposable from
> the Plexus API (although note that the benefit of using a javax API is that
> it makes components more reusable, especially when they come from outside
> the Maven ecosystem and just happen to be used in a Maven plugin.)
>
> The best solution would be to either upgrade that dependency - or
> alternatively just expose the @PostConstruct, @PreDestroy, and @Priority
> annotation types rather than the whole package.
>
> On Mon, 14 Oct 2019 at 06:01, Romain Manni-Bucau <rmannibu...@gmail.com>
> wrote:
>
> > Guess it just comes from guice or friends and since they dont support
> > recent API it was not upgraded.
> > We can upgrade it or just isolate it IMO - but requires some careness
> since
> > custom components can use it so needs an evolution to toggle it probably.
> >
> > Le lun. 14 oct. 2019 à 03:43, Tibor Digana <tibordig...@apache.org> a
> > écrit :
> >
> > > It is a similar issue to the problem with "javax.inject" API.
> > > What about relocating these two APIs to a package "org.apache.maven"?
> Any
> > > thoughts?
> > >
> > > On Mon, Oct 14, 2019 at 12:11 AM Petar Tahchiev <paranoia...@gmail.com
> >
> > > wrote:
> > >
> > > > Hello guys,
> > > >
> > > > I just decided to upgrade my build from 3.5.0 to 3.6.2 last night
> and I
> > > > stumbled across multiple problems, latest one being the following
> > > > exception:
> > > >
> > > > Nested exception is java.lang.NoSuchMethodError:
> > > > javax.annotation.Resource.lookup()Ljava/lang/String;
> > > >
> > > > Seems like maven 3.6.2 comes with jsr-250-api-1.0.jar in the lib/
> > folder
> > > > and that seems to cause problems for me because I have moneta in my
> > > > classpath which brings newer version of jsr250:
> > > >
> > > > [INFO] --- maven-dependency-plugin:3.1.1:tree (default-cli) @
> drmartens
> > > ---
> > > > [INFO] com.demo:drmartens:war:1.0-SNAPSHOT
> > > > [INFO] \-
> > > >
> > > >
> > >
> >
> com.nemesis.platform:nemesis-platform-core:jar:2.1.67.BUILD-SNAPSHOT:compile
> > > > [INFO]    \- org.javamoney:moneta:pom:1.3:compile
> > > > [INFO]       \-
> javax.annotation:javax.annotation-api:jar:1.3.2:compile
> > > > [INFO]
> > > >
> > ------------------------------------------------------------------------
> > > >
> > > > So I was able to fix this following this recommendation:
> > > >
> > > >
> > >
> >
> https://stackoverflow.com/questions/52607814/how-to-remove-a-maven-lib-jsr250-api-1-0-jar-from-the-plugin-classpath-jetty
> > > > using extensions, but I was wondering: why do we need the JSR250 in
> the
> > > lib
> > > > folder? Also why do we need such an old version?
> > > > --
> > > > Regards, Petar!
> > > > Karlovo, Bulgaria.
> > > > ---
> > > > Public PGP Key at:
> > > > http://pgp.mit.edu:11371/pks/lookup?op=get&search=0x19658550C3110611
> > > > Key Fingerprint: A369 A7EE 61BC 93A3 CDFF  55A5 1965 8550 C311 0611
> > > >
> > >
> >
>

Reply via email to