Java-Maven 빌드의 모든 소스 파일에 저작권 통지가 동반되도록하려면 어떻게해야합니까?

StackOverflow https://stackoverflow.com/questions/1821742

문제

사람들이 Java/Maven 빌드에 저작권 통지를 포함시키는 표준 방법이 있습니까? 제품 자체가 사본 작성되었으므로 누군가가 내 소스를 가지고 있다면 더 큰 문제가 있지만 CheckStyle, PMD 또는 다른 것이 자동으로 처리했는지 궁금해하고있는 것이 필요하지 않다는 것을 알고 있습니다. .

저작권 검사를 처리하는 도구가 있습니까?

도움이 되었습니까?

해결책

, CheckStyle (및 The Maven-Checkstyle-Plugin)이를 수행 할 수 있습니다. 모든 소스 파일에 라이센스 헤더가 포함되어 있는지 확인할 수 있습니다. 해당 헤더를 텍스트 파일에 넣고 headerLocation 그것을 가리키기 위해 (기본적으로 사용합니다 LICENSE.txt).

사용하고 싶다고 가정 해 봅시다 checkstyle.license 귀하의 저작권 통지. 다중 모듈 빌드의 경우 표준 접근 방식은 CheckStyle 리소스를 호스팅하기위한 전용 모듈을 만드는 것입니다 (참조 멀티 모듈 구성):

whizbang
|-- pom.xml
|-- build-tools
|   |-- src
|   |   `-- main
|   |       `-- resources
|   |           `-- whizbang
|   |               |-- checkstyle.xml
|   |               `-- checkstyle.license
|   `-- pom.xml
|-- core
|-- gui
|-- jmx
`-- src

그런 다음 CheckStyle을 포함하십시오 구성 최상위로 pom.xml.

<pluginManagement>
  <plugins>
    <!-- Apply checkstyle rules and fail the build in case of errors. The
         checkstyle config files are taken from the build-tools JAR module.-->
    <plugin>
      <groupId>org.apache.maven.plugins</groupId>
      <artifactId>maven-checkstyle-plugin</artifactId>
      <!-- Lock down plugin version for build reproducibility -->
      <version>2.4</version>
      <dependencies>
        <dependency>
          <groupId>com.example.whizbang</groupId>
          <artifactId>build-tools</artifactId>
          <version>1.0</version>
        </dependency>
      </dependencies>
      <configuration>
        <consoleOutput>true</consoleOutput>
        <configLocation>whizbang/checkstyle.xml</configLocation>
        <headerLocation>whizbang/checkstyle.license</headerLocation>
      </configuration>
      <executions>
        <execution>
          <goals>
            <goal>check</goal>
          </goals>
        </execution>
      </executions>
    </plugin>
    ...
  </plugins>
</pluginManagement>

이 설정은 저작권 헤더가 소스 파일에 존재하는지 확인하고 다른 체크 스타일 규칙을 적용하지만 다른 스토리입니다). 당신의 필요에 맞게 그것을 조정하십시오.

다른 팁

방금 찾았습니다http://code.google.com/p/maven-license-plugin/합리적으로 보입니다

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top