Setup

Installation and configuration guide for NES for Apache Struts 1.3.x Modern Compatibility

About

NES for Apache Struts 1.3.x Modern Compatibility is a modernized version of the original Struts 1.3.x framework, designed to be compatible with modern EE9 application servers and Java 11. It provides a drop-in replacement for the original Struts 1.3.x libraries, ensuring that existing applications can run with minimal changes while benefiting from modern Java features and being secure.

Migration Instructions

Update Your Application to NES for Apache Struts 1.3.x Modern Compatibility

Update NES Dependencies: Replace your existing Struts 1.3.x dependencies with the NES for Apache Struts 1.3.x Modern Compatibility version in your build configuration.

Maven
<dependencies>
  <dependency>
    <groupId>org.apache.struts</groupId>
    <artifactId>struts-core</artifactId>
    <version>1.3.10-struts-1.4.1</version><!-- Updated Version -->
  </dependency>
  <!-- Other dependencies as needed -->
</dependencies>

Update Your Application Dependencies, Code, and Configuration

Update Java EE to Jakarta EE: If your application uses Java EE APIs, update them to their Jakarta EE equivalents. This may involve changing package names from javax.* to jakarta.*.

  1. Upgrade dependency javax.servlet:servlet-api:2.3 to jakarta.servlet:jakarta.servlet-api:5.0.0
  2. Add dependency jakarta.servlet.jsp:jakarta.servlet.jsp-api:3.0.0
  3. If using struts-el, add dependency jakarta.servlet.jsp.jstl:jakarta.servlet.jsp.jstl-api:2.0.0 and org.glassfish.web:jakarta.servlet.jsp.jstl:2.0.0
  4. If using struts-faces, add dependency jakarta.faces:jakarta.faces-api:3.0.0, jakarta.el:jakarta.el-api:4.0.0, jakarta.servlet.jsp.jstl:jakarta.servlet.jsp.jstl-api:2.0.0, org.glassfish.web:jakarta.servlet.jsp.jstl:2.0.0
  5. Upgrade dependency commons-fileupload:commons-fileupload to org.apache.commons:commons-fileupload2-core:2.0.0-M4 and org.apache.commons:commons-fileupload2-jakarta-servlet5:2.0.0-M4
  6. Switch imports from javax. to jakarta. in your Java code, JSPs, and configuration files.

Build

In order to remove potential obstacles before building your project, make sure the following domains are whitelisted by your firewall/networking team:

  • registry.nes.herodevs.com
  • assets.nes.herodevs.com

This will ensure that your network/firewall allows connection to our registry.

Run your build tool:

Maven
mvn clean install

Verification

To verify your installation, check that:

  1. Dependencies are downloaded successfully
  2. No version conflicts are reported in your build
  3. Your application starts without errors

Manual Downloads

The direct download URLs for NES for Apache Struts Modern Compatibility packages follow this format:

PortionValue
base_urlhttps://registry.nes.herodevs.com/maven/org/apache/struts/
package_namestruts-core
version1.3.10-struts-1.4.1
filenamepackage_name + version + extension

Example Link

https://registry.nes.herodevs.com/maven/org/apache/struts/struts-core/1.3.10-struts-1.4.1/struts-core-1.3.10-struts-1.4.1.pom