Expand my Community achievements bar.

Applications for the 2024-2025 Adobe Experience Manager Champion Program are open!

Maven build error when integrate Google ReCaptcha Enterprise: Unable to get bundle symbolic name

Avatar

Level 1

We are trying to integrate Google ReCaptcha Enterprise lib, here is my pom:

 

in pom.xml:

<dependency>
<groupId>com.google.cloud</groupId>
<artifactId>google-cloud-recaptchaenterprise</artifactId>
<version>3.25.0</version>
</dependency>

 

in core/pom.xml:

<dependency>
<groupId>com.google.cloud</groupId>
<artifactId>google-cloud-recaptchaenterprise</artifactId>
</dependency>

 

in all/pom.xml:

<embedded>
<groupId>com.google.cloud</groupId>
<artifactId>google-cloud-recaptchaenterprise</artifactId>
<target>/apps/ilx-apps-packages/application/install</target>
</embedded>


<dependency>
<groupId>com.google.cloud</groupId>
<artifactId>google-cloud-recaptchaenterprise</artifactId>
<version>3.25.0</version>
</dependency>

 

When I run:

 

mvn clean install -PautoInstallSinglePackage
or
mvn clean package install -PautoInstallSinglePackage

 

 

I got error:

 

[ERROR] Failed to execute goal com.adobe.aem:aemanalyser-maven-plugin:1.4.20:project-analyse (aem-analyser) on project myApp.all: A fatal error occurred while analysing the features, see error cause:: Unable to get bundle symbolic name from artifact com.google.cloud:google-cloud-recaptchaenterprise:3.25.0 -> [Help 1]

 

 

I have tried these solutions mention in 

https://experienceleaguecommunities.adobe.com/t5/adobe-experience-manager/google-enterprise-captcha-...

https://experienceleaguecommunities.adobe.com/t5/adobe-experience-manager/importing-3rd-party-java-m...

 

such as add following in pom.xml:

 

                        <plugin>
                            <groupId>org.apache.felix</groupId>
                            <artifactId>maven-bundle-plugin</artifactId>
                            <extensions>true</extensions>
                            <configuration>
                                <instructions>
                                    <Import-Package>*;resolution:=optional</Import-Package>
                                    <Export-Package>
                                        com.google.recaptchaenterprise.v1.*,
                                        com.google.cloud.recaptchaenterprise.v1.*
                                    </Export-Package>
                                    <Embed-Dependency>*;scope=compile|runtime</Embed-Dependency>
                                    <Embed-Transitive>true</Embed-Transitive>
                                </instructions>
                            </configuration>
                        </plugin>

 

 

 

 

None of them is working.

I am using aem-sdk 2023.4. Any help is appreciated.

 

4 Replies

Avatar

Level 1

Hi @aanchal-sikka ,

 

Thanks for reply, I mentioned this "solution" in my post, my error message is different from that in that thread. Though the answer on 7//22/21 was marked resolved, but people kept having the problem with it, you can read the all comments to the end marked on 10/12/22.

 

Avatar

Community Advisor

Hi @lxs1 
The issue could be that the jar is not a osgi bundle, you may have to wrap this as an osgi bundle and then use it from local repository

https://experienceleaguecommunities.adobe.com/t5/adobe-experience-manager/com-jcraft-jsch-cannot-be-... 



Arun Patidar

Avatar

Level 1

Thanks @arunpatidar , I just realized that my pom is not correct (see https://cloud.google.com/java/docs/setup), it should be 

In pom.xml:

 

 

<dependencyManagement>
  <dependencies>
    <dependency>
      <groupId>com.google.cloud</groupId>
      <artifactId>libraries-bom</artifactId>
      <version>26.20.0</version>
      <type>pom</type>
      <scope>import</scope>
    </dependency>
  </dependencies>
</dependencyManagement>

<dependencies>
  <dependency>
    <groupId>com.google.cloud</groupId>
    <artifactId>google-cloud-bigquery</artifactId>
  </dependency>
</dependencies>

<plugin>
    <groupId>org.apache.felix</groupId>
    <artifactId>maven-bundle-plugin</artifactId>
    <extensions>true</extensions>
    <configuration>
         <instructions>
                <Bundle-SymbolicName>${project.groupId}.${project.artifactId}</Bundle-SymbolicName>
                <Bundle-Version>${project.version}</Bundle-Version>
                <Import-Package>*;resolution:=optional</Import-Package>
                <Fragment-Host>system.bundle; extension:=framework</Fragment-Host>
                <Export-Package>
                    com.google.recaptchaenterprise.v1.*,
                    com.google.cloud.recaptchaenterprise.v1.*
                </Export-Package>
                <Embed-Dependency>*;scope=compile|runtime</Embed-Dependency>
                <Embed-Transitive>true</Embed-Transitive>
         </instructions>
      </configuration>
 </plugin>

 

 

in core/pom.xml:

 

        <dependency>
            <groupId>com.google.cloud</groupId>
            <artifactId>google-cloud-recaptchaenterprise</artifactId>
        </dependency>

 

 

Since it's not a single jar, so the solutions in http://www.wemblog.com/2012/04/how-to-integrate-3rd-party-jar-file-in.html doesn't apply.

 

With above pom, I got error:

 

[ERROR] [api-regions-exportsimports] myproject:my-app.core:1.0.0-SNAPSHOT: Bundle my-apps.core:1.0.0-SNAPSHOT is importing package(s) [com.google.cloud.recaptchaenterprise.v1, com.google.recaptchaenterprise.v1] in start level 20 but no bundle is exporting these for that start level. (my-project:myapp-apps.all:1.0.0-SNAPSHOT)

 

 

I tried to add following in 

all/pom.xml, 

 

        <embedded>
             <groupId>com.google.cloud</groupId>
             <artifactId>google-cloud-recaptchaenterprise</artifactId>
             <target>/apps/ilx-apps-packages/application/install</target>
         </embedded>


        <dependency>
            <groupId>com.google.cloud</groupId>
            <artifactId>google-cloud-recaptchaenterprise</artifactId>
        </dependency>

 

 

Then I got error:

 

[ERROR] Failed to execute goal com.adobe.aem:aemanalyser-maven-plugin:1.4.20:project-analyse (aem-analyser) on project my-apps.all: A fatal error occurred while analysing the features, see error cause:: Unable to get bundle symbolic name from artifact com.google.cloud:google-cloud-recaptchaenterprise:3.24.0 -> [Help 1]