2026-09-18 · Q&A guide

Fix Maven Bundle Build Errors: Unresolved Extensions & SSL Issues

Resolve common Maven bundle build problems by correcting plugin versions, fixing SSL cert paths, and ensuring proper packaging.

Root Causes of the Build Failure

The error log shows two distinct problems: 1. The maven‑bundle‑plugin cannot load its dependencies, pulling Maven 2 core artifacts that no longer exist in modern repositories. 2. SSL validation fails when accessing the Adobe Nexus repository, preventing artifact downloads. Both issues stop the build before the bundle is even packaged.

Fix the SSL Certificate Path

Add Adobe’s public key to the Java trust store or configure Maven to skip certificate checks for that host. The simplest approach for development is to trust the repository via settings.xml.

<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0">
  <servers>
    <server>
      <id>adobe</id>
      <configuration>
        <trustAll>true</trustAll>
      </configuration>
    </server>
  </servers>
</settings>

Update the Bundle Plugin Configuration

Use a recent version of the Apache Felix bundle plugin that targets Maven 3.x. Declare the packaging type explicitly and bind the plugin to the package phase.

<build>
  <plugins>
    <plugin>
      <groupId>org.apache.felix</groupId>
      <artifactId>maven-bundle-plugin</artifactId>
      <version>5.1.2</version>
      <extensions>true</extensions>
      <configuration>
        <instructions>
          <Bundle-SymbolicName>${project.artifactId}</Bundle-SymbolicName>
          <Bundle-Version>${project.version}</Bundle-Version>
        </instructions>
      </configuration>
      <executions>
        <execution>
          <id>bundle</id>
          <phase>package</phase>
          <goals>
            <goal>bundle</goal>
          </goals>
        </execution>
      </executions>
    </plugin>
  </plugins>
  <packaging>bundle</packaging>
</build>

Verify Repository Access and Maven Version

Ensure that the Adobe Nexus URL is correct and reachable. Run `mvn -version` to confirm you are using Maven 3.6+; older Maven 2 installations will trigger the 2.0.7 dependency errors. If you must use an older Maven, upgrade the plugin to a compatible version or migrate to Maven 3.

mvn -version
# Expected output: Apache Maven 3.6.x

# Clean and install with the updated settings
mvn clean install -U

Rebuild with the Maven Wrapper for Consistency

Add the Maven Wrapper to the project so every developer uses the same Maven version and settings. Generate it with `mvn -N io.takari:maven:wrapper` and commit the wrapper files. Then run `./mvnw clean install` to avoid environment drift.

./mvnw -version
./mvnw clean install -U

Takeaway: Update the bundle plugin, trust the Adobe repository, and use Maven 3 to resolve all build errors.

People also ask

Why does the plugin pull Maven 2 core artifacts?

An outdated plugin version (e.g., 2.3.7) targets Maven 2. Updating to 5.x removes that dependency.

Can I bypass SSL validation permanently?

Set `<trustAll>true</trustAll>` in settings.xml for the Adobe server, but use it only in development, not production.

Inspired by a public discussion on Stack Overflow. This article is an original explanation for learners.

← All posts