¿Cómo puedo deshabilitar el complemento Maven Javadoc desde la línea de comandos?

3 minutos de lectura

avatar de usuario
Adaptador

En pom.xml Tengo una declaración como esta

    <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-javadoc-plugin</artifactId>
        <executions>
            <execution>
                <id>attach-javadocs</id>
                <goals>
                    <goal>jar</goal>
                </goals>
            </execution>
        </executions>
    </plugin>

¿Hay alguna forma de desactivarlo desde la línea de comandos?

Sé que puedo extraer eso en un perfil, pero eso no es lo que quiero.

avatar de usuario
mswientek

La generación de Javadoc se puede omitir configurando la propiedad maven.javadoc.skip a true [1]es decir

-Dmaven.javadoc.skip=true

(y no false)

  • Consulte la respuesta de @Christoph-Tobias Schenke para conocer el enfoque a seguir con los módulos secundarios.

    – ecoe

    26 de enero de 2018 a las 0:30

  • Este argumento también se puede configurar directamente en jenkins para evitar este problema (en Global MAVEN_OPTS definido en Configure System)

    – Rey Midas

    28 de marzo de 2018 a las 10:37

  • Esto no funcionó para mí, pero aprendí que cuando usa el complemento de lanzamiento de Maven, debe pasar este parámetro de manera diferente. Esto funcionó: mvn release:perform -Darguments="-Dmaven.javadoc.skip=true".

    – PatS

    28 de septiembre de 2018 a las 1:57

avatar de usuario
Christoph-Tobias Schenke

Parece que la manera simple

-Dmaven.javadoc.skip=true

no funciona con el complemento de liberación. en este caso hay que pasar el parámetro como “argumento”

mvn release:perform -Darguments="-Dmaven.javadoc.skip=true"

  • Si necesita agregar dos argumentos, puede separarlos con un espacio como este -Darguments="-DskipTests -Dmaven.javadoc.skip=true"

    –Graham

    14/04/2016 a las 20:30

  • También funciona para agregar estos a la configuración del complemento de lanzamiento en el pom.xml de nivel raíz: <configuration><arguments>-DskipTests -Dmaven.javadoc.skip=true</arguments></configuration>

    – nclark

    11 mayo 2016 a las 14:17


  • Además, skipTests viene en un sabor más fuerte que también omite la compilación de pruebas: -Dmaven.tests.skip=true

    – nclark

    11 de mayo de 2016 a las 14:28

  • Wow, ¿por qué el complemento de lanzamiento de Maven hace esto? Perdí totalmente algo de tiempo en este caso.

    – jediwompa

    16 oct 2020 a las 19:48

  • de alguna manera esto no funcionó para mí

    – jediz

    18/10/2021 a las 15:50

avatar de usuario
Vineet Reynolds

Puedes usar el maven.javadoc.skip propiedad para omitir la ejecución del complemento, pasando por el javadoc de Mojo. Puede especificar el valor como una propiedad de Maven:

<properties>
    <maven.javadoc.skip>true</maven.javadoc.skip>
</properties>

o como un argumento de línea de comandos: -Dmaven.javadoc.skip=truepara omitir la generación de Javadocs.

  • Esta respuesta realmente no responde a la pregunta, ya que allí establece que el cambio debe realizarse a través de la línea de comando.

    – Sinisha Mihajlovski

    16 dic 2016 a las 14:15

  • Esta es la solución perfecta para un proyecto de varios módulos con algunos módulos que no generan ningún javadoc y, de lo contrario, provocan un error.

    – Emmanuel Bourg

    13 de junio de 2017 a las 8:58

Agregue a la configuración del complemento de lanzamiento en el pom.xml de nivel raíz:

<configuration>
    <arguments>-Dmaven.javadoc.skip=true</arguments>
</configuration>

Para los usuarios novatos de Powershell, es importante saber que ‘.’ es un elemento sintáctico de Powershell, por lo que el interruptor debe estar entre comillas dobles:

mvn instalación limpia “-Dmaven.javadoc.skip=true”

  • Gracias por eso. Estaba buscando esto para configurar VSCode.

    – tmoasz

    27 de enero de 2021 a las 12:21

  • Gracias por eso. Estaba buscando esto para configurar VSCode.

    – tmoasz

    27 de enero de 2021 a las 12:21

¿Ha sido útil esta solución?

Esta web utiliza cookies propias y de terceros para su correcto funcionamiento y para fines analíticos y para mostrarte publicidad relacionada con sus preferencias en base a un perfil elaborado a partir de tus hábitos de navegación. Al hacer clic en el botón Aceptar, acepta el uso de estas tecnologías y el procesamiento de tus datos para estos propósitos. Configurar y más información
Privacidad