J'essaie d'utiliser spring-security-saml2-core-1.0.4.RELEASE
comme dépendance maven pour mon projet et rencontrez deux problèmes lorsque mvn install
:
Échec "Could not find artifact xml-apis:xml-apis:jar:1.4 ... "
. Je n'ai pas trouvé de version 1.4 de la dépendance xml-apis ni dans le référentiel Maven ni dans les référentiels répertoriés dans le fichier build.gradle . Pour contourner ce problème, je suis obligé d'ajouter une dépendance explicite avec une version légèrement différente à mon projet:
<dependency>
<groupId>xml-apis</groupId>
<artifactId>xml-apis</artifactId>
<version>1.4.01</version>
<scope>runtime</scope>
</dependency>
Échec: "Could not find artifact org.opensaml:opensaml:jar:2.6.6 ..." and "Could not find artifact ca.juliusdavies:not-yet-commons-ssl:jar:0.3.17 ..."
. Pour contourner ce problème, je suis obligé d'ajouter des référentiels maven explicites où j'ai pu trouver les artefacts de mon projet:
<repository>
<id>alfresco</id>
<name>Alfresco</name>
<url>https://artifacts.alfresco.com/nexus/content/repositories/public/</url>
</repository>
<repository>
<id>mulesoft</id>
<name>Mulesoft</name>
<url>http://repository.mulesoft.org/releases/</url>
</repository>
Est-il possible de gérer les problèmes de build sans déclarer de dépendances explicites et de référentiels?
Vous n'êtes pas seul avec ce problème: https://github.com/spring-projects/spring-security-saml/issues/237
Le xml-apis
la version de l'artefact utilisée dans la version 1.0.4.RELEASE est en fait incorrecte, comme vous l'avez mentionné la version 1.4.01
est la bonne.
Tant que les versions utilisées dans les deux autres bibliothèques restantes ne sont pas téléchargées dans le référentiel public maven, je crains que nous ne soyons bloqués à l'aide de référentiels tiers.
Remarque: je recommanderais d'utiliser le référentiel Shibbolet pour obtenir le 2.6.6
version d'OpenSaml: https://wiki.shibboleth.net/confluence/display/OpenSAML/OSTwoUsrManJavaInstall
<repository>
<id>Shibbolet</id>
<name>Shibbolet</name>
<url>https://build.shibboleth.net/nexus/content/repositories/releases/</url>
</repository>
Je me demande si tout cela est la raison pour laquelle la version 1.0.3.RELEASE
est toujours marqué comme la version et la version actuelles 1.0.4.RELEASE
est marqué comme un instantané ( https://projects.spring.io/spring-security-saml/ ) bien qu'ils aient publié un blog sur la sortie de la version 1.0.4.RELEASE
: https://spring.io/blog/2018/03/16/spring-security-saml-1-0-4-released .... Pas de réponse jusqu'à présent: - https://github.com/spring-projects/spring-security-saml/issues/242
Notez que lorsque vous utilisez la version 1.0.3.RELEASE
il n'y a aucun problème avec les dépendances maven lors de l'utilisation de maven central.