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


231

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 manera de desactivar eso desde la línea de comandos?

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

Respuestas:


438

La generación Javadoc se puede omitir estableciendo la propiedad maven.javadoc.skipen verdadero [ 1 ], es decir

-Dmaven.javadoc.skip=true

(y no falso)


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

Este argumento también se puede establecer directamente en jenkins para evitar este problema (en Global MAVEN_OPTS definido en Configurar sistema)
King Midas

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

181

Parece que la manera simple

-Dmaven.javadoc.skip=true

no funciona con el complemento de lanzamiento. en este caso debe pasar el parámetro como "argumento"

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

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

44
También funciona para agregarlos 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

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

120

Puede usar la maven.javadoc.skippropiedad para omitir la ejecución del complemento, yendo 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 argumento de línea de comandos:, -Dmaven.javadoc.skip=truepara omitir la generación de Javadocs.


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

3
Esta es la solución perfecta para un proyecto de varios módulos con algunos módulos que no generan javadoc y causan un error de lo contrario.
Emmanuel Bourg

19

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>

esto no es correcto desde la línea de comandos como lo requiere la pregunta, pero funciona muy bien si necesita deshabilitar permanentemente el javadoc.
Lorenzo Sciuto

1

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 clean install "-Dmaven.javadoc.skip = true"

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.