struts-reloaded
Языки
- Java94,8%
- HTML3,4%
- JavaScript1,6%
- Остальные0,2%
6 месяцев назад
6 месяцев назад
6 месяцев назад
4 месяца назад
6 месяцев назад
6 месяцев назад
6 месяцев назад
6 месяцев назад
6 месяцев назад
6 месяцев назад
6 месяцев назад
6 месяцев назад
6 месяцев назад
2 года назад
6 месяцев назад
4 года назад
4 года назад
4 месяца назад
4 месяца назад
2 года назад
README.md
Struts1 - Reloaded
Это клон https://github.com/weblegacy/struts1 с целью дальнейшего развития, т.к. исходный репозиторий заброшен и изменения не принимаются более года.
Full CHANGELOG
For documentation see https://weblegacy.github.io/struts1
Versions-Overview
| Version | JEE-Version | Java-Version | Servlet | JSP | EL | JSF | JSTL |
|---|---|---|---|---|---|---|---|
| 1.5.0 | Jakarta EE 11 | 17 | 6.1 | 4.0.0 | 5.0.1 | 4.1.2 | 3.0.2 |
| 1.5.0-RC2 | Jakarta EE 9 | 8 | 5.0 | 3.0 | 4.0 | 3.0 | 2.0 |
| 1.5.0-RC1 | Jakarta EE 9 | 8 | 5.0 | 3.0 | 4.0 | 3.0 | 2.0 |
| 1.4.5 | Jakarta EE 8 | 8 | 4.0 | 2.3 | 3.0 | 2.3 | 1.2 |
| 1.4.4 | Jakarta EE 8 | 8 | 4.0 | 2.3 | 3.0 | 2.3 | 1.2 |
| 1.4.3 | Java EE 7 | 8 | 3.1 | 2.3 | 3.0 | 2.2 | 1.2 |
| 1.4.2 | Java EE 6 | 8 | 3.0 | 2.2 | 2.2 | 2.0 | 1.2 |
| 1.4.1 | Java EE 5 | 8 | 2.5 | 2.1 | 2.1 | 1.2 | 1.2 |
| 1.4.0 | J2EE 1.4 | 1.4 | 2.3 | 2.0 | 2.0 | 1.0 | 1.0 |
| 1.3.11 | J2EE 1.4 | 1.4 | 2.3 | 2.0 | 2.0 | 1.0 | 1.0 |
Changes since version 1.3.10
- #11 - XML Entities not handled correctly
- Include all open patches from apache-struts1-repo
- Fixed vulnerabilities
- Upgrade MAVEN-Plugins
- Correct example-apps
- Complete JUnit5- and integration-test (rewrite old ones)
- Logging: Use SLF4J instead Commons-Logging
- JDK 1.4 --> JDK 17
- Tested with JDK 8, 11, 17 and 21
- Servlet-API 2.3 --> 6.1
- JSP 2.0 --> 3.1
- JSP-EL 2.0 --> 5.0
- JSF 1.0.9 --> 4.1
- JSTL 1.0.2 --> 3.0
Fixed vulnerabilities
- CVE-2008-2025 - Apache Struts Cross-site Scripting vulnerability
- CVE-2012-1007 - Apache Struts XSS
- CVE-2014-0114 - Arbitrary code execution in Apache Commons BeanUtils
- CVE-2015-0899 - Improper Input Validation in Apache Struts
- CVE-2016-1181 - Improper Input Validation in Apache Struts
- CVE-2016-1182 - Improper Input Validation in Apache Struts
- CVE-2023-34396 - Apache Struts vulnerable to memory exhaustion
- CVE-2023-49735 - Apache Tiles: Unvalidated input may lead to path traversal and XXE
Building Strus1 - Reloaded
Prerequisites
- Apache Maven 3.8.1+
- JDK 17+
- for integration-tests
- Web-Browser:
- Chrome
- Firefox
- Opera
- Edge
- Internet Explorer
- Chromium
- Safari
- see also Integration-Tests README
- Web-Browser:
MAVEN-Profiles
- dormant - Dormant sub-projects
- Adds the dormant sub-projects
andFacesto the build-processEL
- Adds the dormant sub-projects
- assembly - Create assemblies for distribution
- Adds the module assembly
- Adds the module
- pre-assembly - Creates JavaDoc and Sources for each
-modulestruts1- mvn -Ppre-assembly clean package
- apps - Includes the example-apps into build
- Adds the module apps
- Adds the module
- itest - Includes the integration-tests into build
- Add the module integration
- Add the module
- release - Signs all of the project's attached artifacts with GnuPG
- cargorun - Starts a web-server to manually test the example-apps
- mvn -Pdormant,apps,itest,cargorun
to specify Java-Runtimemvn -Pdormant,apps,itest,cargorun -Dcargo.java.home=[JDK_x]
Building-Steps
- Clean full project
mvn -Pdormant,apps,assembly,itest clean - Build and test project
- with example-apps
mvn -Pdormant,apps - without example-apps
mvn -Pdormant - to skip tests
addfor example-DskipTestsmvn -Pdormant,apps -DskipTests
- with example-apps
- Integration-Tests
- Run with default-browser (Chrome)
mvn -Pdormant,apps,itest - Run with specific browser
mvn -Pdormant,apps,itest -Dwdm.defaultBrowser=[browser]- Values for browser
- Chromechrome- Firefoxfirefox- Operaopera- Edgeedge- Internet Exploreriexplorer- Chromiumchromium- Safarisafari
- Values for
- Run with default-browser (Chrome)
- Generate source- and javadoc-artifacts
mvn -Pdormant,apps,pre-assembly -DskipTests package - Generate site-documentation
mvn -Pdormant,apps -DskipTests site
or
mvn -Pdormant,apps -DskipTests clean site site:stage - Publish site-documentation
- mvn -Pdormant,apps -DskipTests clean site site:stage
- mvn scm-publish:publish-scm
- Generate Assemblies
mvn -Pdormant,apps,assembly -DskipTests package - Deploy all artifacts to Central-Repo
for SNAPSHOTsmvn -Pdormant clean deployfor releasesmvn -Pdormant,pre-assembly,release clean deploy
Support runs
- Run Web-Server to manually test example-apps and create test scripts:
mvn -Pdormant,apps,itest,cargorun -DskipTests
or
to specify Java-Runtimemvn -Pdormant,apps,itest,cargorun -DskipTests -Dcargo.java.home=[JDK_x] - Set version number
mvn -Pdormant,apps,itest,assembly versions:set -DnewVersion=... - Dependency Report
mvn -Pdormant,apps,itest,assembly versions:display-dependency-updates versions:display-plugin-updates versions:display-property-updates