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
| Dependency | OSS 1.3.10 | NES 1.3.10-struts-1.4.5 | Notes |
|---|---|---|---|
antlr | 2.7.2 | 2.7.2 | |
commons-beanutils | 1.8.0 | 1.11.0 | NES 1.7 also available; see below |
commons-chain | 1.2 | 1.2.0-commons-chain-1.3.1 (NES) | Jakarta EE build of Commons Chain |
commons-collections | — | 3.2.2 | Brought in by commons-beanutils; optional in OSS beanutils 1.8.0 |
commons-digester | 1.8 | 1.8 | |
commons-fileupload | 1.1.1 optional | — | Replaced by Commons FileUpload 2 |
org.apache.commons:commons-fileupload2-core | — | 2.0.0-M4 | Required for file uploads; see below. Needs Java 11 |
org.apache.commons:commons-fileupload2-jakarta-servlet5 | — | 2.0.0-M4 | Requires Java 11 |
commons-io | — | 2.19.0 | Brought in by commons-fileupload2-core |
commons-logging | 1.0.4 | 1.3.5 | |
commons-validator | 1.3.1 | 1.3.1 | |
oro | 2.0.8 | 2.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:
<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
| Dependency | OSS 1.3.10 | NES 1.3.10-struts-1.4.5 | Notes |
|---|---|---|---|
struts-core, struts-taglib | 1.3.10 | 1.3.10-struts-1.4.5 | |
struts-tiles | Optional | Optional | Add it if you use the Tiles EL tags |
javax.servlet:jstl | 1.0.2 | — | Add Jakarta JSTL yourself; see Setup |
taglibs:standard | 1.0.6 | — | Add Jakarta JSTL yourself; see Setup |
struts-faces
| Dependency | OSS 1.3.10 | NES 1.3.10-struts-1.4.5 | Notes |
|---|---|---|---|
struts-core, struts-taglib, struts-tiles | 1.3.10 | 1.3.10-struts-1.4.5 | |
jakarta.faces:jakarta.faces-api | — | 3.0.0 | OSS expected JSF from the container |
org.glassfish:jakarta.faces | — | 3.0.5 | Mojarra implementation, bundled in your application |
jakarta.annotation:jakarta.annotation-api | — | 2.0.0 | Brought in by org.glassfish:jakarta.faces |
struts-faces requires Jakarta Faces 3.x; see Jakarta Faces support.
struts-scripting
| Dependency | OSS 1.3.10 | NES 1.3.10-struts-1.4.5 | Notes |
|---|---|---|---|
bsf | 2.3.0 | 2.3.0 | Add a scripting language such as Groovy; see Scripting support |
struts-mailreader-dao
| Dependency | OSS 1.3.10 | NES 1.3.10-struts-1.4.5 | Notes |
|---|---|---|---|
commons-digester | 1.8 | 1.8 | |
commons-beanutils | 1.7.0 | 1.11.0 | Brought in by commons-digester in OSS; declared directly in NES |
commons-collections | — | 3.2.2 | Brought in by commons-beanutils |
commons-logging | 1.0.4 | 1.3.5 |
Provided by the container
| OSS 1.3.10 | NES 1.3.10-struts-1.4.5 |
|---|---|
javax.servlet:servlet-api 2.3 | jakarta.servlet:jakarta.servlet-api 5.0.0 |
javax.servlet:jsp-api 2.0 | jakarta.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
commons-beanutils:commons-beanutils:1.7.0-commons-beanutils-1.7.5(optional; see commons-beanutils 1.7) — release notescommons-chain:commons-chain:1.2.0-commons-chain-1.3.1— release notes