Go to file
Sam Brannen 30efa4d478 Change default driver in XStreamMarshaller from XppDriver to DomDriver
As explained in commit a247b83cd9, the
XppDriver from XStream relies on the XPP3 library which publishes
javax.xml.namespace.QName as part of its JAR. The QName type is also
published by the java.xml system module in modular JREs (i.e., Java 9
or higher).

This results in a split package between the unnamed module and the
java.xml system module, which the Java Language Specification defines
as illegal (see §6.5.5.2 and §7.4.3).

Most Java compilers do not currently enforce this rule; however, the
Eclipse compiler does. This makes it impossible to use spring-oxm out
of the box in the Eclipse IDE. In addition, if bug JDK-8215739 is fixed
in future versions of other JDK implementations, this rule will affect
any users using spring-oxm with those JDKs.

This commit therefore switches the default driver in XStreamMarshaller
from XppDriver to DomDriver. Users can naturally switch back to the
XppDriver if they wish, since the driver is configurable.

Closes gh-27464
2021-09-25 15:06:45 +02:00
.github Update link for reporting security issues 2021-01-26 21:39:29 +00:00
buildSrc Merge branch '5.3.x' 2021-09-15 14:44:39 +02:00
ci Upgrade CI image to JDK 17+35 2021-09-23 13:57:39 +02:00
framework-bom Remove BOM workaround 2020-04-28 15:14:02 +02:00
gradle Ensure projects can be imported into Eclipse IDE with JDK 17 2021-09-22 16:22:27 +02:00
integration-tests Jakarta EE 9 migration 2021-09-17 09:14:07 +02:00
spring-aop Merge branch '5.3.x' 2021-09-21 17:47:27 +02:00
spring-aspects Jakarta EE 9 migration 2021-09-17 09:14:07 +02:00
spring-beans Merge branch '5.3.x' 2021-09-23 15:59:32 +02:00
spring-context Merge branch '5.3.x' 2021-09-21 17:47:27 +02:00
spring-context-indexer Jakarta EE 9 migration 2021-09-17 09:14:07 +02:00
spring-context-support Jakarta EE 9 migration 2021-09-17 09:14:07 +02:00
spring-core Merge branch '5.3.x' 2021-09-23 15:59:32 +02:00
spring-expression Avoid early ConversionService determination in StandardBeanExpressionResolver 2021-09-21 17:42:50 +02:00
spring-instrument Delete obsolete log4j config 2020-03-18 17:01:01 +01:00
spring-jcl Remove JDK 9 workarounds etc 2021-09-17 08:58:19 +02:00
spring-jdbc Unit tests for record binding 2021-09-23 16:13:20 +02:00
spring-jms Merge branch '5.3.x' 2021-09-23 15:59:32 +02:00
spring-messaging Jakarta EE 9 migration 2021-09-17 09:14:07 +02:00
spring-orm Jakarta EE 9 migration 2021-09-17 09:14:07 +02:00
spring-oxm Change default driver in XStreamMarshaller from XppDriver to DomDriver 2021-09-25 15:06:45 +02:00
spring-r2dbc Migrate CoroutinesUtils to Java 2021-09-13 17:39:45 +02:00
spring-test Ensure projects can be imported into Eclipse IDE with JDK 17 2021-09-22 16:22:27 +02:00
spring-tx Jakarta EE 9 migration 2021-09-17 09:14:07 +02:00
spring-web Fix Jetty 10+ test failure related to empty path handling 2021-09-17 14:53:27 +01:00
spring-webflux Enforce timeout in WebFlux multipart tests 2021-09-17 14:53:45 +01:00
spring-webmvc Fix timezone specific failing test 2021-09-24 16:52:51 -07:00
spring-websocket Fix Jetty WebSocket test failures 2021-09-17 14:53:09 +01:00
src Merge branch '5.3.x' into main 2021-09-24 15:59:26 +01:00
.editorconfig Add EditorConfig 2017-06-12 08:07:54 +02:00
.gitattributes Ensure line endings for binary files are not modified in Git 2019-10-18 11:56:18 +02:00
.gitignore Add vscode folder to .gitignore 2021-02-23 17:43:39 +01:00
.mailmap Change gopivotal.com to pivotal.io 2014-10-05 18:12:50 +02:00
CODE_OF_CONDUCT.adoc URL Cleanup 2019-03-21 15:08:55 -05:00
CONTRIBUTING.md Avoid creating unnessary wrapper for empty map 2021-06-11 16:36:04 +01:00
LICENSE.txt Add LICENSE.txt file 2019-08-20 22:01:12 +02:00
README.md Add section of CI builds 2021-03-03 11:42:35 +01:00
SECURITY.md Create SECURITY.md 2019-05-23 11:36:52 -04:00
build.gradle Merge branch '5.3.x' 2021-09-22 22:21:04 +02:00
gradle.properties Update project version to 6.0.0-SNAPSHOT 2021-09-15 14:03:51 +02:00
gradlew Upgrade to Gradle 7.2 2021-09-13 09:37:35 +02:00
gradlew.bat Upgrade to Gradle 6.6 2020-08-11 12:10:35 +02:00
import-into-eclipse.md Ensure projects can be imported into Eclipse IDE with JDK 17 2021-09-22 16:22:27 +02:00
import-into-idea.md URL Cleanup 2019-03-21 15:08:55 -05:00
settings.gradle Migrate CoroutinesUtils to Java 2021-09-13 17:39:45 +02:00

README.md

Spring Framework Build Status Revved up by Gradle Enterprise

This is the home of the Spring Framework: the foundation for all Spring projects. Collectively the Spring Framework and the family of Spring projects are often referred to simply as "Spring".

Spring provides everything required beyond the Java programming language for creating enterprise applications for a wide range of scenarios and architectures. Please read the Overview section as reference for a more complete introduction.

Code of Conduct

This project is governed by the Spring Code of Conduct. By participating, you are expected to uphold this code of conduct. Please report unacceptable behavior to spring-code-of-conduct@pivotal.io.

Access to Binaries

For access to artifacts or a distribution zip, see the Spring Framework Artifacts wiki page.

Documentation

The Spring Framework maintains reference documentation (published and source), Github wiki pages, and an API reference. There are also guides and tutorials across Spring projects.

Micro-Benchmarks

See the Micro-Benchmarks Wiki page.

Build from Source

See the Build from Source Wiki page and the CONTRIBUTING.md file.

Continuous Integration Builds

Information regarding CI builds can be found in the Spring Framework Concourse pipeline documentation.

Stay in Touch

Follow @SpringCentral, @SpringFramework, and its team members on Twitter. In-depth articles can be found at The Spring Blog, and releases are announced via our news feed.

License

The Spring Framework is released under version 2.0 of the Apache License.