1

We are upgrading openam to version 13. I've set artifacts version to 13.0.0 but when I start building the service with Maven I get a error message saying:

failure to find org.forgerock.openam:openam-oauth2-common:jar:13.0.0.

We are using forgerock repository: http://maven.forgerock.org/repo/repo/

Question: why the dependency is suddendly not available any longer and how to properly upgrade it?

A_Di-Matteo
  • 26,902
  • 7
  • 94
  • 128
XXLUser
  • 174
  • 1
  • 1
  • 8

1 Answers1

0

It appears that the artifact you were using has been refactored, moving from a single project (i.e. a library) to a multi-module project (several modules, several libraries). Hence, although its Maven coordinates have not changed (GAV, GroupId, ArtifactId, Version), the usage (the consumption) of this library has been directly affected because its type has changed (again, from jar to pom).

Version 11.0.0, for example, was a jar, hence you could import it as most of the Maven dependency, via a dependency section.

However, since version 12.0.0, the artifact is a pom defining the following modules:

<module>oauth2-core</module>
<module>oauth2-restlet</module>
<module>openid-connect-core</module>
<module>openid-connect-restlet</module>
<module>oauth2-oidc-test-server</module>

Hence, what previously would have been:

<dependency>
    <groupId>org.forgerock.openam</groupId>
    <artifactId>openam-oauth2-common</artifactId>
    <scope>provided</scope>
    <version>11.0.0</version>
</dependency>

It cannot be simply upgraded via its version number but must be replaced via several dependencies (you can now narrow down what you actually need):

<dependency>
    <groupId>org.forgerock.openam</groupId>
    <artifactId>oauth2-core</artifactId>
    <version>13.0.0</version>
</dependency>
<dependency>
    <groupId>org.forgerock.openam</groupId>
    <artifactId>oauth2-restlet</artifactId>
    <version>13.0.0</version>
</dependency>
<dependency>
    <groupId>org.forgerock.openam</groupId>
    <artifactId>openid-connect-core</artifactId>
    <version>13.0.0</version>
</dependency>
<dependency>
    <groupId>org.forgerock.openam</groupId>
    <artifactId>openid-connect-restlet</artifactId>
    <version>13.0.0</version>
</dependency>
<dependency>
    <groupId>org.forgerock.openam</groupId>
    <artifactId>oauth2-oidc-test-server</artifactId>
    <version>13.0.0</version>
</dependency>   

Most probably version 11.0.0 is provided as a subset of the dependencies above, including them should fix the issue (but you could also investigate later on which one is effectively required by your project, e.g. the last one, oauth2-oidc-test-server, is most probably not required simply looking at its artifactId name, as an immediate guess).

A_Di-Matteo
  • 26,902
  • 7
  • 94
  • 128