Visit NES for Apache Struts Home Page

Apache Struts 1.3.x Forward Compatibility Dependencies

Runtime dependencies of NES for Apache Struts 1.3.x Forward Compatibility compared with OSS Struts 1.3.10

Overview

This page lists the dependencies Maven resolves for each NES for Apache Struts 1.3.x Forward Compatibility 1.3.10-struts-1.4.5 artifact, compared with OSS Struts 1.3.10 from Maven Central. Test-scoped dependencies are not listed. Dependencies marked (NES) are HeroDevs-patched builds; see NES-patched dependencies.

struts-core

DependencyOSS 1.3.10NES 1.3.10-struts-1.4.5Notes
antlr2.7.22.7.2
commons-beanutils1.8.01.11.0NES 1.7 also available; see below
commons-chain1.21.2.0-commons-chain-1.3.1 (NES)Jakarta EE build of Commons Chain
commons-collections—3.2.2Brought in by commons-beanutils; optional in OSS beanutils 1.8.0
commons-digester1.81.8
commons-fileupload1.1.1 optional—Replaced by Commons FileUpload 2
org.apache.commons:commons-fileupload2-core—2.0.0-M4Required for file uploads; see below. Needs Java 11
org.apache.commons:commons-fileupload2-jakarta-servlet5—2.0.0-M4Requires Java 11
commons-io—2.19.0Brought in by commons-fileupload2-core
commons-logging1.0.41.3.5
commons-validator1.3.11.3.1
oro2.0.82.0.8

Commons FileUpload 2 is compiled for Java 11, which is why Forward Compatibility requires Java 11 or later.

commons-beanutils 1.7

NES uses commons-beanutils 1.11.0 by default, and 1.11.0 is the recommended version. If your application needs to stay on BeanUtils 1.7, HeroDevs also offers a patched 1.7 build, 1.7.0-commons-beanutils-1.7.5. Declare it directly to override the default:

Maven (pom.xml)
<dependency>
  <groupId>commons-beanutils</groupId>
  <artifactId>commons-beanutils</artifactId>
  <version>1.7.0-commons-beanutils-1.7.5</version>
</dependency>

See the Commons BeanUtils 1.7 release notes for the fixes it includes.

File uploads

Commons FileUpload 2 (commons-fileupload2-core and commons-fileupload2-jakarta-servlet5) is required if your application accepts file uploads. Struts only uses it to handle multipart/form-data POST requests, through org.apache.struts.upload.CommonsMultipartRequestHandler. NES includes both by default.

struts-taglib, struts-tiles and struts-extras

Each depends only on struts-core, in both OSS and NES.

struts-el

DependencyOSS 1.3.10NES 1.3.10-struts-1.4.5Notes
struts-core, struts-taglib1.3.101.3.10-struts-1.4.5
struts-tilesOptionalOptionalAdd it if you use the Tiles EL tags
javax.servlet:jstl1.0.2—Add Jakarta JSTL yourself; see Setup
taglibs:standard1.0.6—Add Jakarta JSTL yourself; see Setup

struts-faces

DependencyOSS 1.3.10NES 1.3.10-struts-1.4.5Notes
struts-core, struts-taglib, struts-tiles1.3.101.3.10-struts-1.4.5
jakarta.faces:jakarta.faces-api—3.0.0OSS expected JSF from the container
org.glassfish:jakarta.faces—3.0.5Mojarra implementation, bundled in your application
jakarta.annotation:jakarta.annotation-api—2.0.0Brought in by org.glassfish:jakarta.faces

struts-faces requires Jakarta Faces 3.x; see Jakarta Faces support.

struts-scripting

DependencyOSS 1.3.10NES 1.3.10-struts-1.4.5Notes
bsf2.3.02.3.0Add a scripting language such as Groovy; see Scripting support

struts-mailreader-dao

DependencyOSS 1.3.10NES 1.3.10-struts-1.4.5Notes
commons-digester1.81.8
commons-beanutils1.7.01.11.0Brought in by commons-digester in OSS; declared directly in NES
commons-collections—3.2.2Brought in by commons-beanutils
commons-logging1.0.41.3.5

Provided by the container

OSS 1.3.10NES 1.3.10-struts-1.4.5
javax.servlet:servlet-api 2.3jakarta.servlet:jakarta.servlet-api 5.0.0
javax.servlet:jsp-api 2.0jakarta.servlet.jsp:jakarta.servlet.jsp-api 3.0.0
—jakarta.el:jakarta.el-api 4.0.0
—org.glassfish:jakarta.el 4.0.2 (struts-el)
myfaces:myfaces-jsf-api 1.0.9— (struts-faces brings Jakarta Faces 3.0)

NES-patched dependencies