es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

log4j no se excluye de la compilación de Maven.

Estoy buscando excluir el log4j en mi archivo pom. Ni siquiera está disponible en el repositorio remoto.
Tengo una propiedad con la versión 4.0.0 en el archivo pom principal.

<plugin>
    <groupid>net.alchim31.maven</groupid>
    <artifactid>scala-maven-plugin</artifactid>
    <version>4.3.0</version>
    <executions>
        <execution>
            <id>scala-compile-first</id>
            <phase>process-resources</phase>
            <goals>
                <goal>add-source</goal>
                <goal>compile</goal>
            </goals>
            <configuration>
                <excludes>
                    <exclude>**/log4j*</exclude>
                </excludes>
            </configuration>
        </execution>
    </executions>
</plugin>

Simplemente no funciona; sigo recibiendo el siguiente mensaje.

Execution scala-compile-first of goal net.alchim31.maven:scala-maven-plugin:4.3.0:add-source failed: Plugin net.alchim31.maven:scala-maven-plugin:4.3.0 or one of its dependencies could not be resolved: Failure to find org.apache.logging.log4j:log4j-core:jar:2.11.2
Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    Para excluir log4j en tu archivo pom.xml, puedes usar la etiqueta excludes en la configuración del scala-maven-plugin. Sin embargo, dado que estás obteniendo un mensaje de error “Failure to find org.apache.logging.log4j:log4j-core:jar:2.11.2”, parece que log4j en realidad está siendo utilizado por una dependencia de tu proyecto.

    En este caso, podrías intentar excluir log4j de esa dependencia específica en su lugar. Puedes agregar una etiqueta exclusion a esa dependencia en tu archivo pom.xml de la siguiente manera:

    <dependency>
        <groupid>group-id</groupid>
        <artifactid>artifact-id</artifactid>
        <version>version</version>
        <exclusions>
            <exclusion>
                <groupid>org.apache.logging.log4j</groupid>
                <artifactid>log4j-core</artifactid>
            </exclusion>
        </exclusions>
    </dependency>
    

    Reemplaza “group-id”, “artifact-id” y “version” con los valores reales para la dependencia que está causando el error de log4j.

    Alternativamente, podrías intentar agregar la dependencia de log4j a tu archivo pom.xml con un alcance de “provided”. Esto significa que log4j estará disponible durante el desarrollo y las pruebas, pero no se incluirá en la compilación final.

    <dependency>
        <groupid>org.apache.logging.log4j</groupid>
        <artifactid>log4j-core</artifactid>
        <version>2.11.2</version>
        <scope>provided</scope>
    </dependency>
    

    Ten en cuenta que el alcance “provided” se utiliza típicamente para dependencias que son proporcionadas por el entorno en el que se ejecutará tu aplicación (como un servidor web o de aplicaciones).

Comments are closed.