Hi Claus,

that I suspected and have already ruled out prior asking, I had:

@Component("azureFiles")
public class FilesComponent extends RemoteFileComponent<ShareFileItem> {


Looking at source of the exception:

        // these information is not available at compile time and we enrich
        // these later during the camel-package-maven-plugin
        if (model.getJavaType() == null) {
            throw new IllegalStateException("Could not find component java 
type");
        }

and a bit around, it really searches for Component annotations:

        // get the java type class name via the @Component annotation from its
        // component class
        for (AnnotationInstance ai : getIndex().getAnnotations(COMPONENT)) {
            String[] cschemes = ai.value().asString().split(",");
            if (Arrays.asList(cschemes).contains(scheme) && ai.target().kind() 
== AnnotationTarget.Kind.CLASS) {
                String name = ai.target().asClass().name().toString();
                model.setJavaType(name);
                break;
            }
        }

OK, the trick is that split Component value must match endpoint scheme.

Indeed:

@Component("azure-files")
public class FilesComponent extends RemoteFileComponent<ShareFileItem> {

resolves the problem.

I would propose a more clear error message:

    throw new IllegalStateException("Could not find @Component(" + scheme + ") 
annotated class.");

Would it make sense? I could create a RFE for that.

Thank you.

  Hope it helps
  Cc.

--
  Mr. Petr Kužel, Software Engineer
  Eurofins International Support Services s.à r.l.
  Val Fleuri 23
  L-1526 LUXEMBOURG

-----Original Message-----
From: Claus Ibsen <claus.ib...@gmail.com>
Sent: Monday, May 15, 2023 16:21
To: dev@camel.apache.org
Subject: Re: What is the recommended way to depend on Java 11, pls?



CAUTION: EXTERNAL EMAIL - Sent from an email domain that is not formally 
trusted by Eurofins.

Do not click on links or open attachments unless you recognise the sender and 
are certain that the content is safe.

Hi

The component class also needs an annotation, see the other components how
they do it

On Mon, May 15, 2023 at 2:15 PM Petr Kuzel <petrku...@eurofins.com.invalid>
wrote:

> OK, thx. I have switched to 3.x
>
>     <parent>
>         <groupId>org.apache.camel</groupId>
>         <artifactId>camel-azure-parent</artifactId>
>         <version>3.21.0-SNAPSHOT</version>
>     </parent>
>
> But still facing maven errors in generate:
>
> [ [1;31mERROR [m] Failed to execute goal
> [32morg.apache.camel:camel-package-maven-plugin:3.21.0-SNAPSHOT:generate
> [m  [1m(generate) [m on project  [36mcamel-azure-files [m:  [1;31mError
> generating data org.apache.maven.plugin.MojoFailureException: Unable to
> create mojo [m: Could not find component java type ->  [1m[Help 1] [m
>
> ...
>  [1mCaused by [m: org.apache.maven.plugin.MojoFailureException:
> [1;31mError generating data org.apache.maven.plugin.MojoFailureException:
> Unable to create mojo [m
> ...
>  [1mCaused by [m: org.apache.maven.plugin.MojoFailureException:
> [1;31mUnable to create mojo [m
> ...
>  [1mCaused by [m: java.lang.IllegalStateException:  [1;31mCould not find
> component java type [m
>      [1mat [m
> org.apache.camel.maven.packaging.EndpointSchemaGeneratorMojo.findComponentProperties
> ( [1mEndpointSchemaGeneratorMojo.java:872 [m)
>      [1mat [m
> org.apache.camel.maven.packaging.EndpointSchemaGeneratorMojo.writeJSonSchemeAndPropertyConfigurer
> ( [1mEndpointSchemaGeneratorMojo.java:257 [m)
>      [1mat [m
> org.apache.camel.maven.packaging.EndpointSchemaGeneratorMojo.processSchemas
> ( [1mEndpointSchemaGeneratorMojo.java:204 [m)
>      [1mat [m
> org.apache.camel.maven.packaging.EndpointSchemaGeneratorMojo.executeUriEndpoint
> ( [1mEndpointSchemaGeneratorMojo.java:183 [m)
>      [1mat [m
> org.apache.camel.maven.packaging.EndpointSchemaGeneratorMojo.execute (
> [1mEndpointSchemaGeneratorMojo.java:141 [m)
>      [1mat [m
> org.apache.camel.maven.packaging.AbstractGeneratorMojo.execute (
> [1mAbstractGeneratorMojo.java:98 [m)
>      [1mat [m org.apache.camel.maven.packaging.AbstractGenerateMojo.invoke
> ( [1mAbstractGenerateMojo.java:96 [m)
>      [1mat [m org.apache.camel.maven.packaging.AbstractGenerateMojo.invoke
> ( [1mAbstractGenerateMojo.java:75 [m)
>      [1mat [m org.apache.camel.maven.packaging.GenerateMojo.doExecute (
> [1mGenerateMojo.java:46 [m)
>      [1mat [m
> org.apache.camel.maven.packaging.AbstractGenerateMojo.execute (
> [1mAbstractGenerateMojo.java:64 [m)
>      [1mat [m
> org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo (
> [1mDefaultBuildPluginManager.java:137 [m)
>      [1mat [m org.apache.maven.lifecycle.internal.MojoExecutor.doExecute2
> ( [1mMojoExecutor.java:370 [m)
>      [1mat [m org.apache.maven.lifecycle.internal.MojoExecutor.doExecute (
> [1mMojoExecutor.java:351 [m)
>      [1mat [m org.apache.maven.lifecycle.internal.MojoExecutor.execute (
> [1mMojoExecutor.java:215 [m)
>      [1mat [m org.apache.maven.lifecycle.internal.MojoExecutor.execute (
> [1mMojoExecutor.java:171 [m)
>      [1mat [m org.apache.maven.lifecycle.internal.MojoExecutor.execute (
> [1mMojoExecutor.java:163 [m)
>      [1mat [m
> org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (
> [1mLifecycleModuleBuilder.java:117 [m)
>      [1mat [m
> org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (
> [1mLifecycleModuleBuilder.java:81 [m)
>      [1mat [m
> org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build
> ( [1mSingleThreadedBuilder.java:56 [m)
>      [1mat [m org.apache.maven.lifecycle.internal.LifecycleStarter.execute
> ( [1mLifecycleStarter.java:128 [m)
>      [1mat [m org.apache.maven.DefaultMaven.doExecute (
> [1mDefaultMaven.java:294 [m)
>      [1mat [m org.apache.maven.DefaultMaven.doExecute (
> [1mDefaultMaven.java:192 [m)
>      [1mat [m org.apache.maven.DefaultMaven.execute (
> [1mDefaultMaven.java:105 [m)
>      [1mat [m org.apache.maven.cli.MavenCli.execute ( [1mMavenCli.java:960
> [m)
>      [1mat [m org.apache.maven.cli.MavenCli.doMain ( [1mMavenCli.java:293
> [m)
>      [1mat [m org.apache.maven.cli.MavenCli.main ( [1mMavenCli.java:196 [m)
> ...
>
> My UriEndpoint annotation reads:
>
> // TODO , extendsScheme = "file"   FTP has it, AzureBlob does not have
> it...
> @UriEndpoint(firstVersion = "4.0.0", scheme = "azure-files", title =
> "Azure Files",
>              syntax = "azure-files:host/share",
>              category = { Category.CLOUD, Category.FILE }, headersClass =
> FilesConstants.class)
>
> Any clue, please?
>
>   Cc.
>
> --
>   Mr. Petr Kužel, Software Engineer
>   Eurofins International Support Services s.à r.l.
>   Val Fleuri 23
>   L-1526 LUXEMBOURG
>
> -----Original Message-----
> From: Andrea Cosentino <anco...@gmail.com>
> Sent: Friday, May 12, 2023 20:11
> To: dev <dev@camel.apache.org>
> Subject: Re: What is the recommended way to depend on Java 11, pls?
>
>
>
> CAUTION: EXTERNAL EMAIL - Sent from an email domain that is not formally
> trusted by Eurofins.
>
> Do not click on links or open attachments unless you recognise the sender
> and are certain that the content is safe.
>
> I meant to say 3.x sorry
>
> Il ven 12 mag 2023, 19:43 Claus Ibsen <claus.ib...@gmail.com> ha scritto:
>
> > Hi
> >
> > If you build a new component then we only accept this for new releases,
> eg
> > 3.21 and 4.0.
> > Camel 4.0 requires Java 17 and Camel 3.x is Java 11.
> >
> > If you can only work with Java 11, then use camel-3.x branch (eg Camel
> > 3.21), and then we need to look later how to forward merge this to Camel
> v4
> >
> >
> > On Fri, May 12, 2023 at 6:15 PM Petr Kuzel <petrku...@eurofins.com
> > .invalid>
> > wrote:
> >
> > > I remember that advice but relaxing related corporate
> > > constraints is not an easy job and it will not happen
> > > over a night.
> > >
> > > I've experimented B:
> > >
> > >     <parent>
> > >         <groupId>org.apache.camel</groupId>
> > >         <artifactId>camel-azure-parent</artifactId>
> > >         <version>3.20.5-SNAPSHOT</version>
> > >     </parent>
> > >
> > > and got stopped by:
> > >
> > > [ [1;34mINFO [m] No previous run data found, generating files.
> > > [ [1;34mINFO [m] Building index...
> > > ...
> > > [ [1;31mERROR [m] Failed to execute goal
> > >
> [32morg.apache.camel:camel-package-maven-plugin:3.20.5-SNAPSHOT:generate
> > > [m  [1m(generate) [m on project  [36mcamel-azure-files [m:  [1;31mError
> > > generating data org.apache.maven.plugin.MojoFailureException: Unable to
> > > create mojo [m: Could not find component java type ->  [1m[Help 1] [m
> > >
> > >
> > > The signature and scenario matches
> > > https://issues.apache.org/jira/browse/CAMEL-15043.
> > > (But so far I have not got how it was resolved).
> > >
> > >   Cc.
> > >
> > > --
> > >   Mr. Petr Kužel, Software Engineer
> > >   Eurofins International Support Services s.à r.l.
> > >   Val Fleuri 23
> > >   L-1526 LUXEMBOURG
> > >
> > > -----Original Message-----
> > > From: Andrea Cosentino <anco...@gmail.com>
> > > Sent: Friday, May 12, 2023 17:30
> > > To: dev@camel.apache.org
> > > Subject: Re: What is the recommended way to depend on Java 11, pls?
> > >
> > >
> > >
> > > CAUTION: EXTERNAL EMAIL - Sent from an email domain that is not
> formally
> > > trusted by Eurofins.
> > >
> > > Do not click on links or open attachments unless you recognise the
> sender
> > > and are certain that the content is safe.
> > >
> > > I would focus on Java 17 and backport on old LTS branch 3.18.x and
> 3.20.x
> > > later.
> > >
> > > Il giorno ven 12 mag 2023 alle ore 16:55 Petr Kuzel
> > > <petrku...@eurofins.com.invalid> ha scritto:
> > >
> > > > After fixing all syntax errors, compiler revealed:
> > > >
> > > >     [ [1;31mERROR [m]
> > > >
> > >
> >
> /C:/d/git/external/camel/components/camel-azure/camel-azure-files/src/main/java/org/apache/camel/component/file/azure/FilesEndpoint.java:[22,24]
> > > > cannot access org.apache.camel.Category
> > > >       bad class file:
> > > >
> > >
> >
> C:\Users\petr\.m2\repository\org\apache\camel\camel-api\4.0.0-SNAPSHOT\camel-api-4.0.0-SNAPSHOT.jar(/org/apache/camel/Category.class)
> > > >         class file has wrong version 61.0, should be 55.0
> > > >         Please remove or make sure it appears in the correct
> > subdirectory
> > > > of the classpath.
> > > >
> > > > i.e. the camel api 4.x was compiled to target Java 17.
> > > >
> > > > I guess I have two options:
> > > >
> > > >   A: retry in one of 3.{15,16,17,18,19}.x branches
> > > >   B: ask for installation of  Java 17 tool chain and continue on main
> > > >
> > > >   Cc.
> > > >
> > > > --
> > > >   Mr. Petr Kužel, Software Engineer
> > > >   Eurofins International Support Services s.à r.l.
> > > >   Val Fleuri 23
> > > >   L-1526 LUXEMBOURG
> > > >
> > > > -----Original Message-----
> > > > From: Petr Kuzel <petrku...@eurofins.com.INVALID>
> > > > Sent: Friday, May 12, 2023 12:02
> > > > To: dev@camel.apache.org
> > > > Subject: RE: What is the recommended way to depend on Java 11, pls?
> > > >
> > > >
> > > >
> > > > CAUTION: EXTERNAL EMAIL - Sent from an email domain that is not
> > formally
> > > > trusted by Eurofins.
> > > >
> > > > Do not click on links or open attachments unless you recognise the
> > sender
> > > > and are certain that the content is safe.
> > > >
> > > > In pom.xml (derived from camel-azure-storage-blob pom.xml) having:
> > > >
> > > >     <properties>
> > > > <!--        <jdk.version>11</jdk.version> it was a mere guess looking
> > at
> > > > effective pom with camel-azure-parent -->
> > > >         <maven.compiler.source>11</maven.compiler.source>
> > > >         <maven.compiler.target>11</maven.compiler.target>
> > > >     </properties>
> > > >
> > > > after:
> > > >
> > > >     <parent>
> > > >         <groupId>org.apache.camel</groupId>
> > > >         <artifactId>camel-azure-parent</artifactId>
> > > >         <version>4.0.0-SNAPSHOT</version>
> > > >     </parent>
> > > >
> > > > results in unexpected Java 8.
> > > >
> > > > If I remove the parent element,
> > > > then inline groupId, version,
> > > > and all dependency/version-s
> > > > it results in expected Java 11.
> > > > But I do not find such inlining well
> > > > maintainable.
> > > >
> > > >   Cc.
> > > >
> > > > --
> > > >   Mr. Petr Kužel, Software Engineer
> > > >   Eurofins International Support Services s.à r.l.
> > > >   Val Fleuri 23
> > > >   L-1526 LUXEMBOURG
> > > >
> > > > -----Original Message-----
> > > > From: Nicolas Filotto <nfilo...@talend.com>
> > > > Sent: Friday, May 12, 2023 11:12
> > > > To: dev@camel.apache.org
> > > > Subject: Re: What is the recommended way to depend on Java 11, pls?
> > > >
> > > >
> > > >
> > > > CAUTION: EXTERNAL EMAIL - Sent from an email domain that is not
> > formally
> > > > trusted by Eurofins.
> > > >
> > > > Do not click on links or open attachments unless you recognise the
> > sender
> > > > and are certain that the content is safe.
> > > >
> > > > Have you tried to set the properties maven.compiler.source,
> > > > maven.compiler.target, and maven.compiler.release like
> > > > https://github.com/apache/camel/blob/main/pom.xml#L114-L116? See the
> > > > compiler plugin documentation for more details
> > > >
> > https://maven.apache.org/plugins/maven-compiler-plugin/compile-mojo.html
> > > > [
> > > >
> > >
> >
> https://opengraph.githubassets.com/e5d400780d6259a437dde976fdb2b9578500cb8781471f86fd1b266a581f6b0a/apache/camel
> > > > ]<https://github.com/apache/camel/blob/main/pom.xml#L114-L116>
> > > > camel/pom.xml at main · apache/camel<
> > > > https://github.com/apache/camel/blob/main/pom.xml#L114-L116>
> > > > Apache Camel is an open source integration framework that empowers
> you
> > to
> > > > quickly and easily integrate various systems consuming or producing
> > > data. -
> > > > camel/pom.xml at main · apache/camel
> > > > github.com
> > > >
> > > > ________________________________
> > > > From: Petr Kuzel <petrku...@eurofins.com.INVALID>
> > > > Sent: Friday, May 12, 2023 10:22
> > > > To: dev@camel.apache.org <dev@camel.apache.org>
> > > > Subject: RE: What is the recommended way to depend on Java 11, pls?
> > > >
> > > > Hi Nicolas,
> > > >
> > > > I have meant Java 11. I assume the Java backward compatibility
> > > > allows me to target Java 11 regardless that some other Camel 4
> > > > components require Java 17.
> > > >
> > > >  (I plan to backport to Camel 3.16+.) A good point after all.
> > > >
> > > >   Hope it helps
> > > >   Cc.
> > > >
> > > > --
> > > >   Mr. Petr Kužel, Software Engineer
> > > >   Eurofins International Support Services s.à r.l.
> > > >   Val Fleuri 23
> > > >   L-1526 LUXEMBOURG
> > > >
> > > > -----Original Message-----
> > > > From: Nicolas Filotto <nfilo...@talend.com>
> > > > Sent: Friday, May 12, 2023 10:14
> > > > To: dev@camel.apache.org
> > > > Subject: Re: What is the recommended way to depend on Java 11, pls?
> > > >
> > > >
> > > >
> > > > CAUTION: EXTERNAL EMAIL - Sent from an email domain that is not
> > formally
> > > > trusted by Eurofins.
> > > >
> > > > Do not click on links or open attachments unless you recognise the
> > sender
> > > > and are certain that the content is safe.
> > > >
> > > > Did you mean Java 17? As stated in the page that you are referring
> to,
> > > > Camel 4 only supports Java 17+
> > > > ________________________________
> > > > From: Petr Kuzel <petrku...@eurofins.com.INVALID>
> > > > Sent: Friday, May 12, 2023 10:10
> > > > To: dev@camel.apache.org <dev@camel.apache.org>
> > > > Subject: What is the recommended way to depend on Java 11, pls?
> > > >
> > > > Hi Camel devs,
> > > >
> > > > I have cloned the Camel FTP and Azure components
> > > > blending them together to develop a new Azure Files
> > > > component.
> > > >
> > > > When I use
> > > >
> > > >     <parent>
> > > >         <groupId>org.apache.camel</groupId>
> > > >         <artifactId>camel-azure-parent</artifactId>
> > > >         <version>4.0.0-SNAPSHOT</version>
> > > >     </parent>
> > > >
> > > >     <properties>
> > > >     </properties>
> > > >
> > > > Eclipse maven project leaves me with Java 8.  But I'd like
> > > > to use Java 11. (the dep on 11 is aligned with
> > > >
> > > >
> > >
> >
> https://urldefense.com/v3/__https://camel.apache.org/manual/what-are-the-dependencies.html__;!!CiXD_PY!X4fmazwO2q9nXiI2v8iAzLBcV6DJ9HvlHaxt8SUV5qpUDfn8cXEgoJgnhvxMmitudjrWdheG5fdCuN1t15ZkU-PBUw$
> > > > )
> > > >
> > > > Should I specify any properties, or ask for
> > > > updating of camel-azure-parent,
> > > > or declare it out-of-bound in Eclipse, pls?
> > > >
> > > >   Regards
> > > >   Cc.
> > > >
> > > > --
> > > >   Mr. Petr Kužel, Software Engineer
> > > >   Eurofins International Support Services s.à r.l.
> > > >   Val Fleuri 23
> > > >   L-1526 LUXEMBOURG
> > > >
> > > >
> > > > As a recipient of an email from the Talend Group, your personal data
> > will
> > > > be processed by our systems. Please see our Privacy Notice <
> > > > https://www.talend.com/privacy-policy/> for more information about
> our
> > > > collection and use of your personal information, our security
> > practices,
> > > > and your data protection rights, including any rights you may have to
> > > > object to automated-decision making or profiling we use to analyze
> > > support
> > > > or marketing related communications. To manage or discontinue
> > promotional
> > > > communications, use the communication preferences portal<
> > > > https://info.talend.com/emailpreferencesen.html>. To exercise your
> > data
> > > > protection rights, use the privacy request form<
> > > >
> > >
> >
> https://urldefense.com/v3/__https://talend.my.onetrust.com/webform/ef906c5a-de41-4ea0-ba73-96c079cdd15a/b191c71d-f3cb-4a42-9815-0c3ca021704cl__;!!CiXD_PY!QmTQSzQryZO9HtF6rAgA3ndt3m0IHTQEl5Af06czFcQ6pyGzWld-DGLkUhozMUvG8qN4rZ6lnrTBnV1KJqlvQlmO2Q$
> > > > >. Contact us here <https://www.talend.com/contact/> or by mail to
> > > either
> > > > of our co-headquarters: Talend, Inc.: 400 South El Camino Real, Ste
> > 1400,
> > > > San Mateo, CA 94402; Talend SAS: 5/7 rue Salomon De Rothschild, 92150
> > > > Suresnes, France
> > > >
> > > > As a recipient of an email from the Talend Group, your personal data
> > will
> > > > be processed by our systems. Please see our Privacy Notice <
> > > > https://www.talend.com/privacy-policy/> for more information about
> our
> > > > collection and use of your personal information, our security
> > practices,
> > > > and your data protection rights, including any rights you may have to
> > > > object to automated-decision making or profiling we use to analyze
> > > support
> > > > or marketing related communications. To manage or discontinue
> > promotional
> > > > communications, use the communication preferences portal<
> > > > https://info.talend.com/emailpreferencesen.html>. To exercise your
> > data
> > > > protection rights, use the privacy request form<
> > > >
> > >
> >
> https://talend.my.onetrust.com/webform/ef906c5a-de41-4ea0-ba73-96c079cdd15a/b191c71d-f3cb-4a42-9815-0c3ca021704cl
> > > >.
> > > > Contact us here <https://www.talend.com/contact/> or by mail to
> either
> > > of
> > > > our co-headquarters: Talend, Inc.: 400 South El Camino Real, Ste
> 1400,
> > > San
> > > > Mateo, CA 94402; Talend SAS: 5/7 rue Salomon De Rothschild, 92150
> > > Suresnes,
> > > > France
> > > >
> > >
> >
> >
> > --
> > Claus Ibsen
> > -----------------
> > @davsclaus
> > Camel in Action 2: https://www.manning.com/ibsen2
> >
>


--
Claus Ibsen
-----------------
@davsclaus
Camel in Action 2: https://www.manning.com/ibsen2

Reply via email to