Jak mogę wyłączyć wtyczkę Maven Javadoc z wiersza poleceń?


231

W pom.xml mam taką deklarację

    <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>

czy jest jakiś sposób, aby wyłączyć to z wiersza poleceń?

Wiem, że mogę to wyodrębnić do profilu, ale nie tego chcę.

Odpowiedzi:


437

Generowanie Javadoc można pominąć, ustawiając właściwość maven.javadoc.skipna true [ 1 ], tj

-Dmaven.javadoc.skip=true

(i nie fałsz)


1
Zobacz odpowiedź @ Christoph-Tobias Schenke na podejście do modułów potomnych.
ecoe

Ten argument można również ustawić bezpośrednio w jenkins, aby uniknąć tego problemu (w globalnym MAVEN_OPTS zdefiniowanym w Konfiguruj system)
King Midas

11
Nie działało to dla mnie, ale nauczyłem się, że kiedy używasz wtyczki maven release, musisz przekazać ten parametr inaczej. To działało: mvn release:perform -Darguments="-Dmaven.javadoc.skip=true".
PatS

181

Wydaje się, że to prosty sposób

-Dmaven.javadoc.skip=true

nie działa z wtyczką wydania. w takim przypadku musisz przekazać parametr jako „argument”

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

9
Jeśli potrzebujesz dodać dwa argumenty, możesz oddzielić je spacją taką jak ta-Darguments="-DskipTests -Dmaven.javadoc.skip=true"
Graham,

4
Działa również w celu dodania ich do konfiguracji wtyczki wydania w pom.xml na poziomie root:<configuration><arguments>-DskipTests -Dmaven.javadoc.skip=true</arguments></configuration>
nclark

1
Ponadto skipTests ma mocniejszy smak, który również pomija kompilację testów:-Dmaven.tests.skip=true
nclark

120

Możesz użyć tej maven.javadoc.skipwłaściwości, aby pominąć wykonanie wtyczki, przechodząc przez javadoc Mojo. Możesz określić wartość jako właściwość Maven:

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

lub jako argument wiersza poleceń -Dmaven.javadoc.skip=true:, aby pominąć generowanie Javadocs.


1
Ta odpowiedź tak naprawdę nie odpowiada na pytanie, ponieważ tam stwierdza, że ​​zmiana powinna zostać wykonana za pomocą wiersza poleceń.
Sinisha Mihajlovski

3
Jest to idealne rozwiązanie dla projektu wielomodułowego, w którym kilka modułów nie generuje żadnego javadoc i w przeciwnym razie powoduje błąd.
Emmanuel Bourg,

19

Dodaj do konfiguracji wtyczki wydania w pom.xml na poziomie root:

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

nie jest to poprawnie z wiersza poleceń, jak wymaga tego pytanie, ale działa świetnie, jeśli chcesz trwale wyłączyć javadoc.
Lorenzo Sciuto,

1

Dla początkujących użytkowników PowerShell ważne jest, aby wiedzieć, że „.” jest składniowym elementem PowerShell, więc przełącznik musi być ujęty w podwójne cudzysłowy:

mvn clean install "-Dmaven.javadoc.skip = true"

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.