3

나는 목표 site 내 Maven 프로젝트를 구축하고있다. 출력에는 Javadoc 경고가 있습니다. 이 경우에는 내 Maven 빌드가 실패해야합니다. 그렇게 할 수있는 방법이 있습니까? 이를 위해Maven 빌드 (목표 사이트)를 Javadoc 경고에서 실패하게 만드는 방법은 무엇입니까?

<plugin> 
    <groupId>org.apache.maven.plugins</groupId> 
    <artifactId>maven-site-plugin</artifactId> 
    <version>3.5</version> 
    <configuration> 
     <generateReports>true</generateReports> 
    </configuration> 
</plugin> 
<plugin> 
    <groupId>org.apache.maven.plugins</groupId> 
    <artifactId>maven-javadoc-plugin</artifactId> 
    <version>2.10.3</version> 
    <configuration> 
     <show>private</show> 
     <failOnError>true</failOnError> 
    </configuration> 
</plugin> 
+1

가능성 무엇? – Hrabosch

+0

@Hrabosch 가능성은 자바 독은 개발자가 JDK 8에서 메일 또는 뭔가 –

+1

를 얻을 것이다 기본적으로 doclint을 사용할 수 있도록 problem.For 예에 실패 젠킨스에 빌드를 만들 발생하면 빌드가 실패 확인합니다,하지만 난 당신이 실행하는 것이 좋습니다 7시에? – Hrabosch

답변

2

경고시 빌드가 실패하도록 maven-javadoc-plugin을 구성 할 수 없습니다 (매개 변수가 failOnError 인 오류에서만). 당신이 실제로 원하는 것은

maven-checkstyle 플러그인을 사용하는 것입니다. 이것은 코드가 미리 정의 된 스타일을 준수하는지 확인하는 책임이있는 플러그인입니다. 이 경우 스타일은 Javadoc이 있어야하며 경고가 없어야합니다. 따라서,이 같은 Checkstyle 플러그인을 구성합니다

<plugin> 
    <artifactId>maven-checkstyle-plugin</artifactId> 
    <version>2.17</version> 
    <reportSets> 
     <reportSet> 
      <reports> 
       <report>checkstyle</report> 
      </reports> 
     </reportSet> 
    </reportSets> 
    <configuration> 
     <failsOnError>true</failsOnError> 
     <configLocation>checkstyle.xml</configLocation> 
    </configuration> 
</plugin> 

IT는 checkstyle.xml (프로젝트의 기본 디렉토리에 위치한 상대를) 참조.

<?xml version="1.0"?> 
<!DOCTYPE module PUBLIC 
    "-//Puppy Crawl//DTD Check Configuration 1.2//EN" 
    "http://www.puppycrawl.com/dtds/configuration_1_2.dtd"> 

<module name="Checker"> 
    <module name="TreeWalker"> 
     <module name="JavadocMethod"/> 
     <module name="JavadocType"/> 
     <module name="JavadocVariable"/> 
     <module name="JavadocStyle"/> 
    </module> 
</module> 

이 빌드가 어떤 자바 독 경고 실패 할 것입니다 : 자바 독을 확인하려면, 다음과 같은 간단한 checkstyle 구성 파일을 가질 수 있습니다. Javadoc 모듈 are highly configurable; 위의 샘플 구성은 모든 메소드, 모든 유형 및 모든 변수에서 Javadoc과 그 정확성을 검사합니다. 당신이 빌드 요소에 maven-javadoc-plugin에 대한 조각을 다음 사용하는 경우 그 다음

<module name="JavadocMethod"> 
    <property name="scope" value="public"/> 
</module> 
<module name="JavadocVariable"> 
    <property name="scope" value="public"/> 
</module> 
1

, 당신은 Sonarqube 같은 것을 사용한다 : 여기

내 POM의 코드 (I 메이븐 3.3을 사용하고 있습니다)입니다. 여기에 CI의 일부로 확인할 이유가 없습니다. 그래서,이 SonarQube을 위해 일하지만 여전히 Jenkinse에 뭔가를 확인하려는 경우, 당신은 Text Finder Plugin for Jenkinse를 사용하려고 할 수 있습니다. 그런 다음 java doc 경고의 uniqeu 부분을 포함하는 문자열을 설정할 수 있으며 빌드가 다운 그레이드됩니다.

1

:

예를 들어, 당신은 단지 public 방법과 JavadocMethodJavadocVariable 모듈에 scope 속성을 설정하여 public 필드에이를 제한 할 수 있습니다 경고에도 자동으로 실패합니다.

<executions> 
    <execution> 
     <id>attach-javadocs</id> 
     <goals> 
      <goal>jar</goal> 
     </goals> 
    </execution> 
</executions>