How to Access the Spring Enterprise Repository

Customers who have purchased VMware Tanzu Spring or Tanzu Platform can access the private repository of Spring Enterprise.

Spring Enterprise is a product that provides long-term commercial support for Spring Framework, Spring Boot, and other projects. For example, as of this writing, Spring Boot 2.7, which is out of OSS support (2.7.18 being the final OSS release version), has been released up to 2.7.35. Spring Boot 3.5 (3.5.16 being the final OSS release version) has been released up to 3.5.17.

For details on each project provided by Spring Enterprise, see the following link. https://enterprise.spring.io/projects

This article explains how to configure Maven to use the Spring Enterprise repository. Here I show how to access the repository directly, but for use in air-gapped environments, you will need to copy it to JFrog Artifactory, Sonatype Nexus (or a more lightweight mirror-only repository), etc. See the separate documentation.

Obtaining a Spring Enterprise Access Token

First, check https://knowledge.broadcom.com/external/article?articleNumber=421110.

The following are the steps in my environment.

Log in to https://support.broadcom.com, go to the "My Downloads" page, and click the "Registry Tokens" button.

image

Click the "Generate Registry Token" button, and then click the "Submit" button.

image

Click the "Copy Token" button of the generated token to copy the token to your clipboard.

image

If you cannot access this page, your license may not have been activated, so contact your account team and ask them to activate the license.

To verify that the token is usable, access https://packages.broadcom.com/artifactory/spring-enterprise/ (the trailing / is required). A Basic authentication dialog will appear, so enter your Broadcom support account username (email address) as the username and paste the copied token as the password to log in. If you can browse the repository as shown below, you're good to go.

image

Configuring Maven to Use the Spring Enterprise Repository

Create a settings.xml file in the .m2 directory directly under your home directory with the following content. Replace BC_SUPPORT_USERNAME and BC_SUPPORT_ACCESS_TOKEN with your Broadcom support account username (email address) and the token copied in the steps above. This will allow you to access the Tanzu Spring Enterprise repository.

<settings>
  <servers>
    <server>
      <id>tanzu-spring-release</id>
      <username>BC_SUPPORT_USERNAME</username>
      <password>BC_SUPPORT_ACCESS_TOKEN</password>
    </server>
  </servers>
  <profiles>
    <profile>
      <id>tanzu-spring-release</id>
      <activation>
        <activeByDefault>true</activeByDefault>
      </activation>
      <repositories>
        <repository>
          <id>tanzu-spring-release</id>
          <name>Spring Enterprise Supported Releases</name>
          <url>https://packages.broadcom.com/artifactory/spring-enterprise</url>
          <snapshots>
            <enabled>false</enabled>
          </snapshots>
        </repository>
      </repositories>
      <pluginRepositories>
        <pluginRepository>
          <id>tanzu-spring-release</id>
          <name>Spring Enterprise Supported Releases</name>
          <url>https://packages.broadcom.com/artifactory/spring-enterprise</url>
          <snapshots>
            <enabled>false</enabled>
          </snapshots>
        </pluginRepository>
      </pluginRepositories>
    </profile>
  </profiles>
</settings>

Verification

Download a template project from https://start.spring.io/#!type=maven-project&language=java&packaging=jar&jvmVersion=21&groupId=com.example&artifactId=demo&name=demo&description=Demo%20project%20for%20Spring%20Boot&packageName=com.example.demo&dependencies=web.

image

Click the "Generate" button to download the project. demo.zip will be downloaded, so unzip it and navigate to the extracted directory in your terminal.

unzip demo.zip
cd demo

Open the pom.xml and change the Spring Boot version to a Spring Enterprise version. In the following example, we change it to Spring Boot 3.5.17, the latest 3.5.x version at the time of writing.

The downloaded template's pom.xml is configured for Spring Boot 4.x and will not work with Spring Boot 3.x or earlier, so replace the pom.xml with the following.

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
	<modelVersion>4.0.0</modelVersion>
	<parent>
		<groupId>org.springframework.boot</groupId>
		<artifactId>spring-boot-starter-parent</artifactId>
		<version>3.5.17</version> <!-- ⭐️ ここを最新版に変更 ⭐️ -->
		<relativePath/> <!-- lookup parent from repository -->
	</parent>
	<groupId>com.example</groupId>
	<artifactId>demo</artifactId>
	<version>0.0.1-SNAPSHOT</version>
	<name>demo</name>
	<description>Demo project for Spring Boot</description>
	<url/>
	<licenses>
		<license/>
	</licenses>
	<developers>
		<developer/>
	</developers>
	<scm>
		<connection/>
		<developerConnection/>
		<tag/>
		<url/>
	</scm>
	<properties>
		<java.version>21</java.version>
	</properties>
	<dependencies>
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-web</artifactId>
		</dependency>

		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-test</artifactId>
			<scope>test</scope>
		</dependency>
	</dependencies>

	<build>
		<plugins>
			<plugin>
				<groupId>org.springframework.boot</groupId>
				<artifactId>spring-boot-maven-plugin</artifactId>
			</plugin>
		</plugins>
	</build>

</project>

Note

In Spring Boot 4.x, spring-boot-starter-web has become spring-boot-starter-webmvc, and spring-boot-starter-test has become spring-boot-starter-webmvc-test.

On Mac/Linux, run the following command to compile the Maven project.

./mvnw clean compile

On Windows, compile the Maven project with the following command.

mvnw.cmd clean compile

If files are downloaded from https://packages.broadcom.com/artifactory/spring-enterprise as shown below, you're good to go.

image

If you want to check the Spring versions used in the project, run the following command.

On Mac/Linux

./mvnw dependency:tree

On Windows

mvnw.cmd dependency:tree

In the following example, you can confirm that Spring Boot 2.7.33 and Spring Framework 5.3.48 are being used.

[INFO] Scanning for projects...
[INFO] 
[INFO] --------------------------< com.example:demo >--------------------------
[INFO] Building demo 0.0.1-SNAPSHOT
[INFO]   from pom.xml
[INFO] --------------------------------[ jar ]---------------------------------
[INFO] 
[INFO] --- dependency:3.8.1:tree (default-cli) @ demo ---
[INFO] com.example:demo:jar:0.0.1-SNAPSHOT
[INFO] +- org.springframework.boot:spring-boot-starter-web:jar:3.5.17:compile
[INFO] |  +- org.springframework.boot:spring-boot-starter:jar:3.5.17:compile
[INFO] |  |  +- org.springframework.boot:spring-boot:jar:3.5.17:compile
[INFO] |  |  +- org.springframework.boot:spring-boot-autoconfigure:jar:3.5.17:compile
[INFO] |  |  +- org.springframework.boot:spring-boot-starter-logging:jar:3.5.17:compile
[INFO] |  |  |  +- ch.qos.logback:logback-classic:jar:1.5.38:compile
[INFO] |  |  |  |  \- ch.qos.logback:logback-core:jar:1.5.38:compile
[INFO] |  |  |  +- org.apache.logging.log4j:log4j-to-slf4j:jar:2.24.3:compile
[INFO] |  |  |  |  \- org.apache.logging.log4j:log4j-api:jar:2.24.3:compile
[INFO] |  |  |  \- org.slf4j:jul-to-slf4j:jar:2.0.18:compile
[INFO] |  |  +- jakarta.annotation:jakarta.annotation-api:jar:2.1.1:compile
[INFO] |  |  \- org.yaml:snakeyaml:jar:2.4:compile
[INFO] |  +- org.springframework.boot:spring-boot-starter-json:jar:3.5.17:compile
[INFO] |  |  +- com.fasterxml.jackson.core:jackson-databind:jar:2.21.5:compile
[INFO] |  |  |  +- com.fasterxml.jackson.core:jackson-annotations:jar:2.21:compile
[INFO] |  |  |  \- com.fasterxml.jackson.core:jackson-core:jar:2.21.5:compile
[INFO] |  |  +- com.fasterxml.jackson.datatype:jackson-datatype-jdk8:jar:2.21.5:compile
[INFO] |  |  +- com.fasterxml.jackson.datatype:jackson-datatype-jsr310:jar:2.21.5:compile
[INFO] |  |  \- com.fasterxml.jackson.module:jackson-module-parameter-names:jar:2.21.5:compile
[INFO] |  +- org.springframework.boot:spring-boot-starter-tomcat:jar:3.5.17:compile
[INFO] |  |  +- org.apache.tomcat.embed:tomcat-embed-core:jar:10.1.57:compile
[INFO] |  |  +- org.apache.tomcat.embed:tomcat-embed-el:jar:10.1.57:compile
[INFO] |  |  \- org.apache.tomcat.embed:tomcat-embed-websocket:jar:10.1.57:compile
[INFO] |  +- org.springframework:spring-web:jar:6.2.20:compile
[INFO] |  |  +- org.springframework:spring-beans:jar:6.2.20:compile
[INFO] |  |  \- io.micrometer:micrometer-observation:jar:1.15.13:compile
[INFO] |  |     \- io.micrometer:micrometer-commons:jar:1.15.13:compile
[INFO] |  \- org.springframework:spring-webmvc:jar:6.2.20:compile
[INFO] |     +- org.springframework:spring-aop:jar:6.2.20:compile
[INFO] |     +- org.springframework:spring-context:jar:6.2.20:compile
[INFO] |     \- org.springframework:spring-expression:jar:6.2.20:compile
[INFO] \- org.springframework.boot:spring-boot-starter-test:jar:3.5.17:test
[INFO]    +- org.springframework.boot:spring-boot-test:jar:3.5.17:test
[INFO]    +- org.springframework.boot:spring-boot-test-autoconfigure:jar:3.5.17:test
[INFO]    +- com.jayway.jsonpath:json-path:jar:2.9.0:test
[INFO]    |  \- org.slf4j:slf4j-api:jar:2.0.18:compile
[INFO]    +- jakarta.xml.bind:jakarta.xml.bind-api:jar:4.0.5:test
[INFO]    |  \- jakarta.activation:jakarta.activation-api:jar:2.1.4:test
[INFO]    +- net.minidev:json-smart:jar:2.5.2:test
[INFO]    |  \- net.minidev:accessors-smart:jar:2.5.2:test
[INFO]    |     \- org.ow2.asm:asm:jar:9.7.1:test
[INFO]    +- org.assertj:assertj-core:jar:3.27.7:test
[INFO]    |  \- net.bytebuddy:byte-buddy:jar:1.17.8:test
[INFO]    +- org.awaitility:awaitility:jar:4.2.2:test
[INFO]    +- org.hamcrest:hamcrest:jar:3.0:test
[INFO]    +- org.junit.jupiter:junit-jupiter:jar:5.12.2:test
[INFO]    |  +- org.junit.jupiter:junit-jupiter-api:jar:5.12.2:test
[INFO]    |  |  +- org.opentest4j:opentest4j:jar:1.3.0:test
[INFO]    |  |  +- org.junit.platform:junit-platform-commons:jar:1.12.2:test
[INFO]    |  |  \- org.apiguardian:apiguardian-api:jar:1.1.2:test
[INFO]    |  +- org.junit.jupiter:junit-jupiter-params:jar:5.12.2:test
[INFO]    |  \- org.junit.jupiter:junit-jupiter-engine:jar:5.12.2:test
[INFO]    |     \- org.junit.platform:junit-platform-engine:jar:1.12.2:test
[INFO]    +- org.mockito:mockito-core:jar:5.17.0:test
[INFO]    |  +- net.bytebuddy:byte-buddy-agent:jar:1.17.8:test
[INFO]    |  \- org.objenesis:objenesis:jar:3.3:test
[INFO]    +- org.mockito:mockito-junit-jupiter:jar:5.17.0:test
[INFO]    +- org.skyscreamer:jsonassert:jar:1.5.3:test
[INFO]    |  \- com.vaadin.external.google:android-json:jar:0.0.20131108.vaadin1:test
[INFO]    +- org.springframework:spring-core:jar:6.2.20:compile
[INFO]    |  \- org.springframework:spring-jcl:jar:6.2.20:compile
[INFO]    +- org.springframework:spring-test:jar:6.2.20:test
[INFO]    \- org.xmlunit:xmlunit-core:jar:2.10.4:test
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  0.427 s
[INFO] Finished at: 2026-09-10T11:57:17+09:00
[INFO] ------------------------------------------------------------------------