First, please review our Minimum Requirements to ensure a smooth installation.
Maven Setup
Follow these easy steps:
- Update your pom.xml with NES package versions and repository details
- Install and run!
Example
If you would like to see an example of the install, refer to the sample application for using NES for Spring Foundations. A more detailed README file is provided in the example application.
Additionally, you can view an example git diff to see exactly what code aspects to change to drop-in NES packages.
1. Substitute any of your existing dependencies that line up with the NES Spring Essentials+ dependencies in your pom.xml like the following (use appropriate version):
Note: Use the Latest Versions of NES for Spring Artifacts to find the NES replacement version.
...
<dependencies>
<!-- other dependencies as needed -->
<dependency>
<groupId>com.herodevs.nes.springframework</groupId>
<artifactId>spring-orm</artifactId>
<version>5.3.39-spring-framework-5.3.40</version>
</dependency>
<dependency>
<groupId>com.herodevs.nes.springframework</groupId>
<artifactId>spring-oxm</artifactId>
<version>5.3.39-spring-framework-5.3.40</version>
</dependency>
<dependency>
<groupId>com.herodevs.nes.apache.struts</groupId>
<artifactId>struts2-spring-plugin</artifactId>
<version>2.5.33-struts2-2.5.34</version>
</dependency>
<dependency>
<groupId>com.herodevs.nes.mybatis</groupId>
<artifactId>mybatis-spring</artifactId>
<version>2.0.7-mybatis-spring-2.0.8</version>
</dependency>
<dependency>
<groupId>com.herodevs.nes.springdoc</groupId>
<artifactId>springdoc-openapi-ui</artifactId>
<version>1.7.0-springdoc-openapi-1.7.1</version>
</dependency>
<dependency>
<groupId>com.herodevs.nes.springdoc</groupId>
<artifactId>springdoc-openapi-common</artifactId>
<version>1.7.0-springdoc-openapi-1.7.1</version>
</dependency>
<dependency>
<groupId>com.herodevs.nes.springdoc</groupId>
<artifactId>springdoc-openapi-webmvc-core</artifactId>
<version>1.7.0-springdoc-openapi-1.7.1</version>
</dependency>
<dependency>
<groupId>com.herodevs.nes.dozer</groupId>
<artifactId>dozer-spring</artifactId>
<version>5.5.1-dozer-5.5.2</version>
</dependency>
<!-- other dependencies as needed -->
</dependencies>
...
<repositories>
<repository>
<id>herodevs-nes-registry</id>
<url>https://registry.nes.herodevs.com/maven</url>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>herodevs-nes-registry</id>
<url>https://registry.nes.herodevs.com/maven</url>
</pluginRepository>
</pluginRepositories>
Note: If errors occur with the install or startup of the application that are due to missing methods from Spring Framework, this could be due to multiple copies of Spring Framework libraries on the classpath. To address, update the dependency configuration in the pom.xml file to exclude "org.springframework" related jars. This can be done by using the Maven exclusions feature. See our troubleshooting guide for more information.
Alternatively, you can also use our Maven dependency plugin to do this for you using the following configuration in the build plugins of the pom.xml file.
<build>
<plugins>
<!-- others removed for brevity -->
<plugin>
<groupId>com.herodevs.nes.maven</groupId>
<artifactId>nes-maven-dependency-plugin</artifactId>
<version>1.0.0</version>
<executions>
<execution>
<goals>
<goal>resolveDependencies</goal>
</goals>
</execution>
</executions>
<configuration>
<patterns>
<pattern>org\.springframework.*</pattern>
</patterns>
</configuration>
</plugin>
</plugins>
</build>
2. Add your email address to the global Maven settings file in your home directory (~/.m2/settings.xml) or wherever you store project secrets. (preferably not in source code)
<settings>
<servers>
<server>
<id>herodevs-nes-registry</id>
<username>any_text_here_not_used</username>
<configuration>
<httpHeaders>
<property>
<name>Authorization</name>
<value>Bearer NES_TOKEN_HERE</value>
</property>
</httpHeaders>
</configuration>
</server>
</servers>
</settings>
3. Install and run your application
./mvnw clean install -U
Note, if your Maven settings.xml file is located in a path other than Maven's global path, use "-s path/to/settings.xml".
./mvnw -s ./settings.xml clean install -U
Gradle Install
Follow these easy steps:
- Update your build.gradle
- Update your Gradle properties file
- Build and run!
Example
If you would like to see an example of the install, refer to the sample application for using NES for Spring Foundations. A more detailed README file is provided in the example application.
Additionally, you can view an example Git diff to see exactly what code changes are needed to use NES packages.
Detailed Gradle Instructions
1. Substitute your existing Spring Essentials+ dependencies for NES dependencies in your build.gradle like the following (use appropriate version):
Note: Use the Latest Versions of NES for Spring Artifacts to find the NES replacement version.
repositories {
maven {
url = uri(providers.gradleProperty("herodevs_nes_registry_url").get())
credentials {
username = providers.gradleProperty("herodevs_nes_registry_user").get()
password = providers.gradleProperty("herodevs_nes_registry_token").get()
}
authentication {
basic(BasicAuthentication)
}
}
mavenCentral()
}
dependencies {
// other dependencies as needed...
implementation 'com.herodevs.nes.springframework:spring-orm:5.3.39-spring-framework-5.3.40'
implementation 'com.herodevs.nes.springframework:spring-oxm:5.3.39-spring-framework-5.3.40'
implementation 'com.herodevs.nes.springframework:spring-core:5.3.39-spring-framework-5.3.40'
implementation 'com.herodevs.nes.apache.struts:struts2-spring-plugin:2.5.33-struts2-2.5.34'
implementation 'com.herodevs.nes.mybatis:mybatis-spring:2.0.7-mybatis-spring-2.0.8'
implementation 'com.herodevs.nes.dozer:dozer-spring:5.5.1-dozer-5.5.2'
implementation 'com.herodevs.nes.springdoc-openapi:springdoc-openapi-ui:1.7.0-springdoc-openapi-1.7.1'
implementation 'com.herodevs.nes.springdoc-openapi:springdoc-openapi-common:1.7.0-springdoc-openapi-1.7.1'
implementation 'com.herodevs.nes.springdoc-openapi:springdoc-openapi-webmvc-core:1.7.0-springdoc-openapi-1.7.1'
}
2. Add NES repository information to global Gradle properties file (e.g. ~/.gradle/gradle.properties)
herodevs_nes_registry_url=https://registry.nes.herodevs.com/maven
herodevs_nes_registry_user=any_text_here_not_used
herodevs_nes_registry_token=NES_TOKEN_HERE
3. Add the NES maven repository to settings.gradle.
pluginManagement {
repositories {
maven {
url = uri(providers.gradleProperty("herodevs_nes_registry_url").get())
credentials {
username = providers.gradleProperty("herodevs_nes_registry_user").get()
password = providers.gradleProperty("herodevs_nes_registry_token").get()
}
authentication {
basic(BasicAuthentication)
}
}
mavenCentral()
}
}
4. Install and run your application
./gradlew clean build
Additional Information
The direct download URLs for NES for Spring: Data Essentials follow this format (replace the package and version with that of the desired package):
base_url: https://registry.nes.herodevs.com/maven/com/herodevs/nes/apache/struts
package_name: struts2-spring-plugin
version: 2.5.33-struts2-2.5.34
filename: [package_name] + [version] + extension
[base_url] / [package_name] / [version] / [filename]
Example