microsoft-kiota-** dependencies have conflicting Automatic-Module-Name
Los mantenedores suelen responder en 1 día
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 3/5
- Tiempo estimado
- 1-2 días
- Aptitud para principiantes
- 35/100
- Tipo de issue
- Error
- Claridad
- Bastante claro
- Estado de actividad
- Estancado
- Stack tecnológico
- java
- Área
- build-system
Línea de trabajo
Inspecciona la configuración del manifiesto de tasks.jar en components/**/build.gradle y, a continuación, reproduce el conflicto con el pom.xml proporcionado y el comando jdeps documentado. Confirma que los JAR de Kiota generados ya no producen nombres de módulo com.microsoft.kiota duplicados y que jdeps se completa correctamente.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
We use for our projects both jdeps and jlink tools to generate a slim JRE. However since the switch to com.microsoft.graph:microsoft-graph:6.4.0 (v6 of the SDK, recently released), which builds on top of the microsoft-kiota-** dependencies. We can't seem to run our jdeps command succesfully anymore.
Previously (without the microsoft-kiota-** dependencies on the class-/module path we have been using the following command; (exectued from target/)
jdeps --multi-release base --recursive --ignore-missing-deps --print-module-deps --class-path="./lib/*" --module-path="./lib/*" -quiet demo-0.0.1-SNAPSHOT.jar
Which would list something like this; java.base,spring.boot,spring.boot.autoconfigure,spring.context,spring.core
Note: When running this on a Windows machine, be sure to change ./lib/* to ./lib (as there is an issue with the * wildcard.
Howafter after switching to com.microsoft.graph:microsoft-graph:6.4.0 we not get the following exception when we run the same command;
Exception in thread "main" java.lang.module.FindException: Two versions of module com.microsoft.kiota found in .\lib (microsoft-kiota-authentication-azure-1.0.4.jar and microsoft-kiota-abstractions-1.0.4.jar)
at java.base/jdk.internal.module.ModulePath.scanDirectory(ModulePath.java:295)
at java.base/jdk.internal.module.ModulePath.scan(ModulePath.java:233)
at java.base/jdk.internal.module.ModulePath.scanNextEntry(ModulePath.java:191)
at java.base/jdk.internal.module.ModulePath.findAll(ModulePath.java:167)
at jdk.jdeps/com.sun.tools.jdeps.JdepsConfiguration$Builder.build(JdepsConfiguration.java:558)
at jdk.jdeps/com.sun.tools.jdeps.JdepsTask.buildConfig(JdepsTask.java:607)
at jdk.jdeps/com.sun.tools.jdeps.JdepsTask.run(JdepsTask.java:561)
at jdk.jdeps/com.sun.tools.jdeps.JdepsTask.run(JdepsTask.java:537)
at jdk.jdeps/com.sun.tools.jdeps.Main.main(Main.java:50)
A quick look here in the repository shows me that all components/**/build.gradle files are containing this piece of code;
tasks.jar {
manifest {
attributes('Automatic-Module-Name': project.property('mavenGroupId'))
}
}
So the Automatic-Module-Name is set to an unique value, which isn't correct in my opinion. Might be better to use the artifactId here maybe? But that is up to you guys ;)
Following pom.xml file can be used to simulate this issue. Note the maven-dependency-plugin which copies all the dependencies (on mvn install) to target/lib for easier testing with the command.
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>3.2.3</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<groupId>com.example</groupId>
<artifactId>demo</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>demo</name>
<description>Demo project for Spring Boot</description>
<properties>
<java.version>21</java.version>
<microsoft-graph.version>6.4.0</microsoft-graph.version>
<azure-identity.version>1.11.2</azure-identity.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
</dependency>
<dependency>
<groupId>com.microsoft.graph</groupId>
<artifactId>microsoft-graph</artifactId>
<version>${microsoft-graph.version}</version>
</dependency>
<dependency>
<groupId>com.azure</groupId>
<artifactId>azure-identity</artifactId>
<version>${azure-identity.version}</version>
<scope>compile</scope>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<executions>
<execution>
<phase>install</phase>
<goals>
<goal>copy-dependencies</goal>
</goals>
<configuration>
<outputDirectory>${project.build.directory}/lib</outputDirectory>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>
- Lenguaje dominante
- Java
- Estrellas
- 38
- Forks
- 35
- Merge medio
- 15 h 3 min
- PR fusionados (30 d)
- 18
Preparar el entorno
Inicia el contenedor de desarrollo del proyecto en tu navegador, con tu propia cuenta de GitHub.
- Sin Dockerfile ni archivo de Docker Compose
- Sin plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de microsoft/kiota-java
-
Stop using okhttp3.internalAbierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
microsoft/kiota-java#2127 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 3/5 1-2 días Aptitud para principiantes 38/100
microsoft/kiota-java#2000 ·
Los mantenedores suelen responder en 1 día
-
upgrade to okhttp 5Posiblemente ocupada @ramsessanchez la tomó hace 86 días. Abiertoenhancement help wanted
Dificultad 3/5 1-2 días Aptitud para principiantes 48/100
microsoft/kiota-java#1984 · 10 comentarios · 2 reacciones ·
Los mantenedores suelen responder en 1 día
-
Needs: Attention :wave: type:question
Dificultad 3/5 1-2 días Aptitud para principiantes 35/100
microsoft/kiota-java#1928 · 6 comentarios ·
Los mantenedores suelen responder en 1 día
-
http - implement body inspection handlerQuizá libre de nuevo @Nikk8091 la tomó hace 39 días y no hay ningún pull request abierto. Abiertoenhancement help wanted type:enhancement
Dificultad 4/5 3-5 días Aptitud para principiantes 52/100
microsoft/kiota-java#1685 · 2 comentarios ·
Los mantenedores suelen responder en 1 día
Todos los issues de microsoft/kiota-java
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
Netcracker/qubership-integration-platform#1046 ·
Los mantenedores suelen responder en 2 días
-
`check_java_version()` fails when Java path contains spaces (Windows / Git Bash, `C:\Program Files`)Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
-
Fix Math.ceilDiv wrong result for exact positive divisionsPosiblemente ocupada @pamod-madubashana la tomó hoy. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 88/100
scala-native/scala-native#5094 ·
Los mantenedores suelen responder en 1 día
-
NullPointerException in blocking command completion callback when the command succeeds (3.52.0)Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
Los mantenedores suelen responder en 2 días