maven-javadoc-plugin과 JDK8이있는 Maven 프로젝트가 있습니다. mvn javadoc:test-javadoc
을 실행하면 플러그인에서 문서 오류 및 중단을보고하지만 mvn javadoc:test-javadoc-no-fork
을 실행하면 플러그인이 성공적으로 실행되고 경고가 표시됩니다.maven-javadoc-plugin의 목표 test-javadoc이 에러가 발생하면 실패하지만 test-javadoc-no-fork는 경고 만받는 것
질문은 NOT 수정 방법이나 문서 오류입니다. 플러그인은 수정해야 할 실제 문서 문제를 발견하여보고 된 오류 mvn javadoc:test-javadoc
이 올바른 결과를 나타냅니다.
질문 : mvn javadoc:test-javadoc-no-fork
은 왜 실패하지 않지만 경고처럼 문제를 처리합니까?
배경 : 3.3.9
- 프로젝트가 멀티 모듈 프로젝트를
- 메이븐 버전입니다 발생 3.0.0-M1)
- Java8
mvn javadoc:test-javadoc-no-fork
0을 실행할 때 mvn javadoc:test-javadoc
[INFO]
[INFO] <<< maven-javadoc-plugin:2.10.4:test-javadoc (default-cli) < generate-test-sources @ agrovet-server <<<
[INFO]
[INFO] --- maven-javadoc-plugin:2.10.4:test-javadoc (default-cli) @ agrovet-server ---
[INFO]
...
3 errors
9 warnings
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Summary:
[INFO]
[INFO] PROJECT ............................................ SUCCESS [ 1.131 s]
[INFO] PROJECT :: Client .................................. SUCCESS [ 43.908 s]
[INFO] PROJECT :: Server .................................. FAILURE [ 44.774 s]
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 01:36 min
[INFO] Finished at: 2017-09-23T21:33:33+02:00
[INFO] Final Memory: 96M/1573M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-javadoc-plugin:2.10.4:test-javadoc (default-cli) on project PROJECT-server: An error has occurred in Test JavaDocs report generation:
[ERROR] Exit code: 1 - F:\workspaces\PROJECT\PROJECT-server\src\test\java\com\example\PROJECT\infrastructure\TracingServiceSpringTest.java:389: warning:
no @throws for javax.xml.datatype.DatatypeConfigurationException
[ERROR] public void testImport() throws DatatypeConfigurationException {
[ERROR]^
...
[ERROR]
[ERROR] Command line was: "C:\Program Files\Java\jdk1.8.0_121\jre\..\bin\javadoc.exe" @options @packages
[ERROR]
[ERROR] Refer to the generated Javadoc files in 'F:\workspaces\PROJECT\PROJECT-server\target\site\testapidocs' dir.
[ERROR] -> [Help 1]
[ERROR]
...
출력을 실행할 때 0
TracingServiceSpringTest
의 자랑 해 보였다 문제는 정말
/** scenario: some text... **/
@Test
public void testImport() throws DatatypeConfigurationException {...
출력 던진 DatatypeConfigurationException
에 대한 누락 된 문서를 가지고
8 warnings
[WARNING] Javadoc Warnings
[WARNING] F:\workspaces\PROJECT\PROJECT-server\src\test\java\com\example\PROJECT\infrastructure\TracingServiceSpringTest:389: warning: no @throws for javax.xml.datatype.DatatypeConfigurationException
[WARNING] public void testImport() throws DatatypeConfigurationException {
[WARNING]^
...
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Summary:
[INFO]
[INFO] PROJECT ............................................ SUCCESS [ 0.454 s]
[INFO] PROJECT :: Client .................................. SUCCESS [ 0.011 s]
[INFO] PROJECT :: Server .................................. SUCCESS [ 6.763 [INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
...
관련 POM 부품, 부모 pom.xml
(전체 치어가 너무 크다, 그러나 이것은 maven-javadoc-plugin
를 언급 유일한 부분입니다 :
<dependencyManagement>
<dependencies>
...
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<version>2.10.4</version>
</plugin>
</dependencies>
</dependencyManagement>
...
<reporting>
<plugins>
...
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<reportSets>
<reportSet>
<reports>
<!--
javadoc-no-fork in order to prevent JavaDoc process from runing generate-source again
but this also requries that JavaDoc generation runs after compile: "mvn install site"
but not on a black project "mvn clean site"
-->
<report>javadoc-no-fork</report>
<report>test-javadoc-no-fork</report>
</reports>
</reportSet>
</reportSets>
</plugin>
</plugins>
</reporting>
그러나이 문제는 컴파일러 문제가 아닙니다. 문제는 던져진 예외에 대한 javadoc이 누락되었다는 것입니다. - 그리고 javadoc 도구는'test-javadoc-no-fork'를 실행하여 (경고를 발생 시킴) 문제를 인식 할지라도 빌드를 멈추지 않습니다. – Ralph
@ 랄프, 아마 내가 처음에 당신을 잘못 잡았을거야. 내 테스트와 메인에서 각각 하나의 클래스로 동일한 것을 재현하려고 시도했지만, 두 명령에 모두 실패하지는 못했습니다. 또한 보고서의 하나로서'test-javadoc'을 포함 시켜서 도움이되는지 살펴볼 수 있습니다. – nullpointer