Je n’ai pas compris En “pur” Maven il n’y a pas de login sur /api donc là je pense qu’on parle à nouveau de l’extension ? Tant que ça ne compile pas correctement via un simple mvn clan compile ça ne sert à rien d’essayer de passer par un IDE
Mais sinon quand il y a un 401 sur /api/login c’est qu’il y a forcément un pb d’authentification = username et/ou password erroné. Sur l’extension il y a la possibilité de forcer la déconnexion et la reconnexion si on parle de ça c’est peut être la manière de régler ce pb.
Mais bon, pour tout ce qui concerne l’extension je vais laisser @germain t’accompagner car il y a plusieurs manière de s’en servir et je ne maitrise pas toutes ses subtilités internes.
Cf. plus haut, test fait avec CLI mvn = même pbs de de download de plugins Maven donc ce n’est à priori ni au niveau Simplicité, ni au niveau de l’extension VSCode
J’ai réglé le problème de proxy côté maven et pu faire un clean intall.
Mais quand je retourne sur VSCOde et que j’appelle “Initialise API file system” j’ai toujours une erreur 401.
[{
"resource": "/c:/Users/pf05429/EAR/ear/pom.xml",
"owner": "_generated_diagnostic_collection_name_#2",
"code": "0",
"severity": 8,
"message": "Failed to read artifact descriptor for com.simplicite:simplicite-api:jar:sources:5.3-SNAPSHOT\n\norg.eclipse.aether.resolution.ArtifactDescriptorException: Failed to read artifact descriptor for com.simplicite:simplicite-api:jar:sources:5.3-SNAPSHOT\r\n\tat org.apache.maven.repository.internal.DefaultArtifactDescriptorReader.loadPom(DefaultArtifactDescriptorReader.java:255)\r\n\tat org.apache.maven.repository.internal.DefaultArtifactDescriptorReader.readArtifactDescriptor(DefaultArtifactDescriptorReader.java:171)\r\n\tat org.eclipse.aether.internal.impl.collect.DefaultDependencyCollector.resolveCachedArtifactDescriptor(DefaultDependencyCollector.java:538)\r\n\tat org.eclipse.aether.internal.impl.collect.DefaultDependencyCollector.getArtifactDescriptorResult(DefaultDependencyCollector.java:523)\r\n\tat org.eclipse.aether.internal.impl.collect.DefaultDependencyCollector.processDependency(DefaultDependencyCollector.java:410)\r\n\tat org.eclipse.aether.internal.impl.collect.DefaultDependencyCollector.processDependency(DefaultDependencyCollector.java:362)\r\n\tat org.eclipse.aether.internal.impl.collect.DefaultDependencyCollector.process(DefaultDependencyCollector.java:349)\r\n\tat org.eclipse.aether.internal.impl.collect.DefaultDependencyCollector.collectDependencies(DefaultDependencyCollector.java:254)\r\n\tat org.eclipse.aether.internal.impl.DefaultRepositorySystem.collectDependencies(DefaultRepositorySystem.java:284)\r\n\tat org.apache.maven.project.DefaultProjectDependenciesResolver.resolve(DefaultProjectDependenciesResolver.java:170)\r\n\tat org.apache.maven.project.DefaultProjectBuilder.resolveDependencies(DefaultProjectBuilder.java:227)\r\n\tat org.apache.maven.project.DefaultProjectBuilder.build(DefaultProjectBuilder.java:200)\r\n\tat org.apache.maven.project.DefaultProjectBuilder.build(DefaultProjectBuilder.java:124)\r\n\tat org.eclipse.m2e.core.internal.IMavenToolbox.readMavenProject(IMavenToolbox.java:88)\r\n\tat org.eclipse.m2e.core.internal.project.registry.DefaultMavenDependencyResolver.lambda$0(DefaultMavenDependencyResolver.java:70)\r\n\tat org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.executeBare(MavenExecutionContext.java:394)\r\n\tat org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.execute(MavenExecutionContext.java:275)\r\n\tat org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.execute(MavenExecutionContext.java:214)\r\n\tat org.eclipse.m2e.core.internal.project.registry.DefaultMavenDependencyResolver.resolveProjectDependencies(DefaultMavenDependencyResolver.java:66)\r\n\tat org.eclipse.m2e.core.internal.project.registry.ProjectRegistryManager.refreshPhase2(ProjectRegistryManager.java:573)\r\n\tat org.eclipse.m2e.core.internal.project.registry.ProjectRegistryManager.lambda$5(ProjectRegistryManager.java:481)\r\n\tat org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.executeBare(MavenExecutionContext.java:394)\r\n\tat org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.execute(MavenExecutionContext.java:275)\r\n\tat org.eclipse.m2e.core.internal.project.registry.ProjectRegistryManager.refresh(ProjectRegistryManager.java:479)\r\n\tat org.eclipse.m2e.core.internal.project.registry.ProjectRegistryManager.refresh(ProjectRegistryManager.java:362)\r\n\tat org.eclipse.m2e.core.internal.project.registry.ProjectRegistryManager.refresh(ProjectRegistryManager.java:314)\r\n\tat org.eclipse.m2e.core.internal.project.ProjectConfigurationManager.configureNewMavenProjects(ProjectConfigurationManager.java:256)\r\n\tat org.eclipse.m2e.core.internal.project.ProjectConfigurationManager.lambda$1(ProjectConfigurationManager.java:166)\r\n\tat org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.executeBare(MavenExecutionContext.java:394)\r\n\tat org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.execute(MavenExecutionContext.java:275)\r\n\tat org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.execute(MavenExecutionContext.java:214)\r\n\tat org.eclipse.m2e.core.internal.project.ProjectConfigurationManager.importProjects(ProjectConfigurationManager.java:139)\r\n\tat org.eclipse.m2e.core.internal.project.ProjectConfigurationManager.importProjects(ProjectConfigurationManager.java:130)\r\n\tat org.eclipse.jdt.ls.core.internal.managers.MavenProjectImporter.importToWorkspace(MavenProjectImporter.java:233)\r\n\tat org.eclipse.jdt.ls.core.internal.managers.ProjectsManager.importProjects(ProjectsManager.java:148)\r\n\tat org.eclipse.jdt.ls.core.internal.managers.ProjectsManager.initializeProjects(ProjectsManager.java:111)\r\n\tat org.eclipse.jdt.ls.core.internal.handlers.InitHandler$1.runInWorkspace(InitHandler.java:246)\r\n\tat org.eclipse.core.internal.resources.InternalWorkspaceJob.run(InternalWorkspaceJob.java:43)\r\n\tat org.eclipse.core.internal.jobs.Worker.run(Worker.java:63)\r\nCaused by: org.eclipse.aether.resolution.ArtifactResolutionException: com.simplicite:simplicite-api:pom:5.3-SNAPSHOT failed to transfer from https://ear-dev.k8s-stage.grouperci.com/maven during a previous attempt. This failure was cached in the local repository and resolution is not reattempted until the update interval of simplicite has elapsed or updates are forced. Original error: Could not transfer artifact com.simplicite:simplicite-api:pom:5.3-SNAPSHOT from/to simplicite (https://ear-dev.k8s-stage.grouperci.com/maven): PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target\r\n\tat org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:425)\r\n\tat org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifacts(DefaultArtifactResolver.java:229)\r\n\tat org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifact(DefaultArtifactResolver.java:207)\r\n\tat org.apache.maven.repository.internal.DefaultArtifactDescriptorReader.loadPom(DefaultArtifactDescriptorReader.java:240)\r\n\t... 38 more\r\nCaused by: org.eclipse.aether.transfer.ArtifactTransferException: com.simplicite:simplicite-api:pom:5.3-SNAPSHOT failed to transfer from https://ear-dev.k8s-stage.grouperci.com/maven during a previous attempt. This failure was cached in the local repository and resolution is not reattempted until the update interval of simplicite has elapsed or updates are forced. Original error: Could not transfer artifact com.simplicite:simplicite-api:pom:5.3-SNAPSHOT from/to simplicite (https://ear-dev.k8s-stage.grouperci.com/maven): PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target\r\n\tat org.eclipse.aether.internal.impl.DefaultUpdateCheckManager.newException(DefaultUpdateCheckManager.java:225)\r\n\tat org.eclipse.aether.internal.impl.DefaultUpdateCheckManager.checkArtifact(DefaultUpdateCheckManager.java:169)\r\n\tat org.eclipse.aether.internal.impl.DefaultArtifactResolver.gatherDownloads(DefaultArtifactResolver.java:574)\r\n\tat org.eclipse.aether.internal.impl.DefaultArtifactResolver.performDownloads(DefaultArtifactResolver.java:484)\r\n\tat org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:402)\r\n\t... 41 more\r\n",
"source": "Java",
"startLineNumber": 1,
"startColumn": 1,
"endLineNumber": 1,
"endColumn": 1
}]
Donc après avoir fait le “Initialize API file system” j’ai ceci dans mon explorer
Je ne trouve pas mes sources.
Est-ce que ça peut être dû à cette erreur dans le pom.xml ?
[{
"resource": "/C:/Users/pf05429/AppData/Roaming/Code/User/globalStorage/simplicitesoftware.simplicite-vscode-tools/Api_RCIB/pom.xml",
"owner": "_generated_diagnostic_collection_name_#2",
"code": "0",
"severity": 8,
"message": "CoreException: Could not calculate build plan: Plugin org.apache.maven.plugins:maven-compiler-plugin:3.10.1 or one of its dependencies could not be resolved: Failed to read artifact descriptor for org.apache.maven.plugins:maven-compiler-plugin:jar:3.10.1: ArtifactResolutionException: The following artifacts could not be resolved: org.apache.maven.plugins:maven-compiler-plugin:pom:3.10.1 (absent): Could not transfer artifact org.apache.maven.plugins:maven-compiler-plugin:pom:3.10.1 from/to central (https://repo.maven.apache.org/maven2): repo.maven.apache.org",
"source": "Java",
"startLineNumber": 27,
"startColumn": 4,
"endLineNumber": 27,
"endColumn": 14
}]
A priori non. A nouveau ça semble un pb de téléchargement de plugin Maven (“Could not transfer artifact org.apache.maven.plugins:maven-compiler-plugin:pom:3.10.1”).
@germain peut être y-a-t-il une subtilité dans le cas du mode “API” (i.e sans clone Git) ?
@Emmanuelle, il serait intéressant de tester avec le mode avec clone Git du module (perso je ne me sert que de ce mode et je n’ai pas de pb Maven dans VSCode)
Le /maven de l’instance sert des .pom et des .jar, tapes l’URL dans un navigateur tu verras. Ca n’agit pas en client d’autre chose. Donc s’il a un pb de certificat c’est du coté de VSCode.
Est-ce que ton instance est bien exposée en https:// ? Car si le SSL n’est pas configuré sur cette instance un appel en https:// depuis VSCode ne fonctionnera pas.
@germain tu confirmes que l’URL utilisée dans tous les cas c’est celle dans le pom.xml ? Si oui il faut peut être la forcer en http:// s’il n’y a pas de SSL configuré sur l’instance
A mon avis le pb est au niveau du plugin Maven de VSCode qui ne trouve pas tout seul votre certificat CA.
A la manière du workaround qu’on a trouvé pour notre extension Simplicité (qui est une solution en JS - car c’est ce qui exécute notre extension - et qui ne marche donc pas pour Maven qui s’exécute en Java), là il va falloir trouver une solution pour ce plugin, je pense que d’autres ont ce genre de pb.
EDIT: je pense que la solution c’est d’ajouter le certificat de votre CA dans les trusted certificates Java de la JVM qui exécute le plugin Maven au sein de VSCode
Peut être en utilisant une autre JVM que celle installée sur l’OS ?
Sur https://adoptium.net/ il est possible de downloader une JVM OpenJDK sous forme de simple ZIP à dezipper où on veut. Et ensuite il faut faire en sorte que cette JVM soit la seule connue de VSCode
Je m’en suis sortie en pointant sur une copie de cacert dans un répertoire qui m’appartient.
Le clean install passe mais je n’ai toujours pas src ni resources, et toujours l’erreur dans le pom.xml
[INFO] Scanning for projects...
[INFO]
[INFO] --------------------< com.simplicite.modules:RCIB >---------------------
[INFO] Building RCIB 1.3-SNAPSHOT
[INFO] from pom.xml
[INFO] --------------------------------[ jar ]---------------------------------
[INFO]
[INFO] --- clean:3.2.0:clean (default-clean) @ RCIB ---
[INFO] Deleting C:\Users\pf05429\AppData\Roaming\Code\User\globalStorage\simplicitesoftware.simplicite-vscode-tools\Api_RCIB\target
[INFO]
[INFO] --- resources:3.3.1:resources (default-resources) @ RCIB ---
[INFO] skip non existing resourceDirectory C:\Users\pf05429\AppData\Roaming\Code\User\globalStorage\simplicitesoftware.simplicite-vscode-tools\Api_RCIB\resources
[INFO]
[INFO] --- compiler:3.11.0:compile (default-compile) @ RCIB ---
[INFO] No sources to compile
[INFO]
[INFO] --- resources:3.3.1:testResources (default-testResources) @ RCIB ---
[INFO] skip non existing resourceDirectory C:\Users\pf05429\AppData\Roaming\Code\User\globalStorage\simplicitesoftware.simplicite-vscode-tools\Api_RCIB\test\resources
[INFO]
[INFO] --- compiler:3.11.0:testCompile (default-testCompile) @ RCIB ---
[INFO] No sources to compile
[INFO]
[INFO] --- surefire:3.1.2:test (default-test) @ RCIB ---
[INFO] No tests to run.
[INFO]
[INFO] --- jar:3.3.0:jar (default-jar) @ RCIB ---
[WARNING] JAR will be empty - no content was marked for inclusion!
[INFO] Building jar: C:\Users\pf05429\AppData\Roaming\Code\User\globalStorage\simplicitesoftware.simplicite-vscode-tools\Api_RCIB\target\RCIB-1.3-SNAPSHOT.jar
[INFO]
[INFO] --- install:3.1.1:install (default-install) @ RCIB ---
[INFO] Installing C:\Users\pf05429\AppData\Roaming\Code\User\globalStorage\simplicitesoftware.simplicite-vscode-tools\Api_RCIB\pom.xml to C:\Users\pf05429\.m2\repository\com\simplicite\modules\RCIB\1.3-SNAPSHOT\RCIB-1.3-SNAPSHOT.pom
[INFO] Installing C:\Users\pf05429\AppData\Roaming\Code\User\globalStorage\simplicitesoftware.simplicite-vscode-tools\Api_RCIB\target\RCIB-1.3-SNAPSHOT.jar to C:\Users\pf05429\.m2\repository\com\simplicite\modules\RCIB\1.3-SNAPSHOT\RCIB-1.3-SNAPSHOT.jar
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 11.006 s
[INFO] Finished at: 2023-08-08T14:40:04+02:00
[INFO] ------------------------------------------------------------------------
cloner le repo Git du module : git clone https://<user>:<password>@<url>/git/<module>
vérifier que le clone est complet (le répertoire src avec les *.java en particulier)
mvn clean compile
Je ne vois pas de raison que ça ne marche pas => download des dépendances indiquées par le /maven de l’instance + compilation des sources Java (si ça dit “No sources to compile” c’est qu’il n’y a pas de sources Java dans ton module, en tout cas dans le commit de ce module qui correspond au clone)
Si ça ne marche pas, pas la peine d’essayer quoi que se soit sur VSCode
Si ça marche, faire la même chose via VSCode et ses extensions ne devrait pas poser de pb outre des histoires de “tuyauterie” => je laisse @germain t’assister si besoin