使用NetBeans 8.1,如何为NetBeans模块设置项目许可证标头?具体来说,我希望我创建的每个新Java文件都填充了我的许可证标题。
我知道如何为常规NetBeans Java项目实现此目的。我在项目属性的License Headers
部分指定了我想要的文本。
但是,当我尝试设置NetBeans Module项目的许可证标头时,模块的项目属性中没有License Headers
部分。
我想在项目级别而不是在NetBeans级别设置此许可证,因为我希望我的整个团队为他们创建的任何文件获取新模板。 (我知道我可以通过转到Tools -> Template Manager
并在那里进行自定义来更改整个NetBeans。但是,我的其他团队成员将无法获得标题。)
我看到了similar question,但这是针对Maven项目而不是NetBeans模块项目。
答案 0 :(得分:2)
理论上,您可以通过将此属性添加到nbproject / project.properties来手动为模块项目设置自定义许可证文件。
project.licensePath=./nbproject/licenseheader.txt
然后创建新的许可证模板并将其保存到nbproject / licenseheader.txt。
不幸的是,这似乎在NetBeans 8.1中被打破了。当我创建新文件时,我收到此错误消息而不是自定义许可证文本:“读取包含的文件模板/类/ C:\ some \ path \ module1 \ Templates \ Classes \ licenseheader.txt”
使用其中一个内置许可证模板可以正常工作。例如,要使用MIT许可证,请将此属性添加到nbproject / project.properties。
project.license=mit
答案 1 :(得分:1)
NetBeans 8.2的解决方案。 (可能在8.1中工作,因为8.2会产生OP描述的错误消息。)
使用许可证模板文本创建文本文件:
<#if licenseFirst??>
${licenseFirst}
${licensePrefix}Copyright 2017 Whoever you are
<#if licenseLast??>
${licenseLast}
醇>
2.将模板添加到NetBeans
在IDE中,执行“工具” - >“模板”,然后打开“许可证”节点。在这里,您可以看到全局许可证头模板列表。按添加...然后浏览并从步骤1中选择您的模板文件。
新条目将显示在名为“license-XXX.txt”的许可证下,其中XXX是您的许可证文件名 - 所有这些条目,因此如果您将文件命名为“license.txt”,则新条目将被命名为“license-license”。 txt.txt”。 (不要惊慌,你可以重命名。)
我打电话给我的FooLicense。
在项目中设置许可证。 添加行
project.license=FooLicense
到nbproject / project.properties
现在,当您创建新来源时,if将包含指定的许可证标题。
奖金!该设置继承自套件项目 在套件项目属性中设置许可证将将设置应用于套件中的所有模块 在模块项目中设置许可证会覆盖套件许可证设置。