Je suis nouveau à Maven et Spring.
Le projet s'exécute dans mon environnement de test local, mais pas sur le système déployé. Sur le système déployé: j'ai un nouveau Ubuntu installé avec OpenSDK 10.0.1, Maven 3.5.2 Je suis derrière un pare-feu différent et j'ai un magasin de clés et un magasin de clés différents.
Maven crache:
POM parent non résoluble pour l'organisation .
[%mything%]
. app: useraut: 0.0.1-SNAPSHOT: Impossible de transférer l'artefact org.springframework.boot: spring-boot-starter-parent: pom: 1.5.9.RELEASE from/to central ( https://repo.maven.Apache.org/maven2 ): Java.lang.RuntimeException: erreur inattendue: Java.security.InvalidAlgorithmParameterException: le paramètre trustAnchors doit être non vide et 'parent.relativePath' ne pointe sur aucun POM local @ ligne 14, colonne 10 -> [Aide 2]
sniper de pom:
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.5.9.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
(aucun proxy défini)
Il semble que je puisse trouver des idées pour la solution: Erreur - le paramètre trustAnchors doit être non vide Mais je n'ai aucune idée par où commencer la configuration de Spring, Maven ou trustStore
D'après ce que j'ai découvert, il y a une faiblesse dans le package de distribution sur Ubuntu Linux pour OpenJDK Java 9 et plus. Donc, l'installation de default-jdk peut casser les choses.
Citation de: ( https://bugs.launchpad.net/ubuntu/+source/openjdk-lts/+bug/1768799 ) + mises à jour de certificats supplémentaires.
Notez que la réinstallation de default-jdk est facultative et openjdk-8 peut être continuellement utilisé.
Solution: supprimez default-jdk, installez openjdk-8, supprimez openjdk-8 et réinstallez default-jdk:
Sudo apt purge openjdk-default Java-common
Sudo apt purge default-jdk Java-common
Sudo dpkg --purge --force-depend ca-certificats-Java
Sudo apt install openjdk-8-jre
Sudo apt-get install ca-certificats-Java
Sudo apt purge openjdk-8-jre
Sudo apt install default-jdk
Après cela, j'ai également découvert que la version de Spring que j'utilisais ne fonctionnait pas bien sur Java 10.0.1 donc retour à Java 8.x pour cet objectif.
Fondamentalement, il s'agit de ca-certificats-Java. C'est encore plus frustrant lorsque vous obtenez le JDK en dehors des référentiels de distribution Linux.
Ici, j'ai obtenu l'indice de: http://rabexc.org/posts/certificates-not-working-Java
J'ai modifié le script bash dans le commentaire
CACERTS="/home/user/cacerts"
cd /etc/ssl/certs
for file in *.pem; do
echo "Importing $file..."
openssl x509 -outform der -in "$file" -out /tmp/certificate.der
keytool -import -alias "$file" -keystore $CACERTS \
-file /tmp/certificate.der -deststorepass changeit -noprompt
done
Modifiez la première ligne à votre convenance. Je l'exécute sur Debian, pour d'autres systèmes, vous devrez peut-être également modifier la deuxième ligne.
Ensuite, je copie le fichier "cacerts" dans JDK qui se trouve sur $ Java_HOME/jre/lib/security/cacerts