Java-Maven 빌드의 모든 소스 파일에 저작권 통지가 동반되도록하려면 어떻게해야합니까?
-
10-07-2019 - |
문제
사람들이 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/합리적으로 보입니다
제휴하지 않습니다 StackOverflow