New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Spring 3.2.1 POM missing certain compile time dependencies [SPR-10218] #14851

Closed
spring-issuemaster opened this Issue Jan 25, 2013 · 1 comment

Comments

Projects
None yet
2 participants
@spring-issuemaster
Copy link
Collaborator

spring-issuemaster commented Jan 25, 2013

Phil Webb opened SPR-10218 and commented

The generated POM files for Spring 3.2.1 have inadvertently changed several compile time dependencies to optional, namely:

spring-orm
-> spring-tx
-> spring-jdbc

spring-webmvc
-> spring-context
-> spring-web

spring-test
-> spring-webmvc

The root cause of issue is:

7f928e8

This commit intended to change the scope only within the project being merged and not in the 'merge.into' destination.


Affects: 3.2.1

Issue Links:

  • #14924 spring-webmvc 3.2.1 no longer has spring-web as compile-time dependency ("is duplicated by")

Referenced from: commits bc80d25

1 votes, 6 watchers

@spring-issuemaster

This comment has been minimized.

Copy link
Collaborator

spring-issuemaster commented Jan 25, 2013

Phil Webb commented

To work around this bug you may need to temporarily add the following dependencies to your project POM file.

If you depend on spring-orm

<dependency>
	<groupId>org.springframework</groupId>
	<artifactId>spring-tx</artifactId>
	<version>3.2.1</version>
</dependency>
<dependency>
	<groupId>org.springframework</groupId>
	<artifactId>spring-jdbc</artifactId>
	<version>3.2.1</version>
</dependency>

If you depend on spring-webmvc

<dependency>
	<groupId>org.springframework</groupId>
	<artifactId>spring-context</artifactId>
	<version>3.2.1</version>
</dependency>
<dependency>
	<groupId>org.springframework</groupId>
	<artifactId>spring-web</artifactId>
	<version>3.2.1</version>
</dependency>

If you depend on spring-test

<dependency>
	<groupId>org.springframework</groupId>
	<artifactId>spring-webmvc</artifactId>
	<version>3.2.1</version>
</dependency>

Any changes can be reverted when Spring version 3.2.2 is released which contains a fix for the issue.

For those interested, the root cause of this issue relates to the way that Spring merges modules together so that it can support conflicting dependencies. For example the spring-orm-hibernate4 module is merged into the spring-orm module so that we can support both hibernate versions 3 and 4. The scope on some of the dependencies on these merge modules was recently changed with the assumption that merge destination dependencies would take precedence. Unfortunately this was not the case.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment