我正在开发一个多模块项目,其中所有模块共享一个公共许可证(Apache 2.0)。现在我想为所有源文件添加标题,我想在父pom.xml中配置它(包装类型是pom)
我在基础目录中创建了一个文件夹license
,并添加了一个文件licenses.properties
,其中我声明了apache_2_0=apache_2_0
。另外,我添加了一个子文件夹apache_2_0
,其中有两个文件header.txt
和license.txt
。现在我将以下插件添加到我的父pom中:
<build>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>license-maven-plugin</artifactId>
<version>1.5</version>
<configuration>
<licenseName>apache_2_0</licenseName>
<licenseResolver>${project.basedir}/license</licenseResolver>
</configuration>
<executions>
<execution>
<goals>
<goal>update-file-header</goal>
</goals>
<phase>process-sources</phase>
</execution>
</executions>
</plugin>
</plugins>
</build>
当我运行时,我会收到一条错误消息:
[错误]无法执行目标 org.codehaus.mojo:许可证行家-插件:1.5:更新文件头 (默认)项目(myproject):无法获取许可证 存储库:未知协议:c - &gt; [帮助1]
有以下例外:
java.net.MalformedURLException:未知协议:c
我做错了什么?
答案 0 :(得分:2)
您尚未在licenseResolver
替换
<licenseResolver>${project.basedir}/license</licenseResolver>
与
<licenseResolver>file://${project.basedir}/license</licenseResolver>
答案 1 :(得分:0)
或者直接使用$ {project.baseUri}