如何在NetBeans模块中设置项目许可证标头?

如何在NetBeans模块中设置项目许可证标头?,netbeans,Netbeans,使用NetBeans 8.1,如何为NetBeans模块设置项目许可证标头?具体地说,我希望我创建的每个新Java文件都填充我的许可证头 我知道如何为常规的NetBeans Java项目实现这一点。我在“项目属性”的“许可证标题”部分下指定想要的文本 project.licensePath=./nbproject/licenseheader.txt 但是,当我尝试设置NetBeans模块项目的许可证标头时,该模块的项目属性中没有许可证标头部分。 我希望在项目级别而不是NetBeans级别设置

使用NetBeans 8.1,如何为NetBeans模块设置项目许可证标头?具体地说,我希望我创建的每个新Java文件都填充我的许可证头

我知道如何为常规的NetBeans Java项目实现这一点。我在“项目属性”的“许可证标题”部分下指定想要的文本

project.licensePath=./nbproject/licenseheader.txt
但是,当我尝试设置NetBeans模块项目的许可证标头时,该模块的项目属性中没有许可证标头部分。

我希望在项目级别而不是NetBeans级别设置此许可证,因为我希望我的整个团队为他们创建的任何文件获取新模板。我知道我可以通过转到工具->模板管理器并在那里进行自定义来更改NetBeans的总体设置。然而,我的其他团队成员将不会得到头球


我看到了,但这是针对Maven项目而不是NetBeans模块项目的。

理论上,您可以通过将此属性添加到nbproject/project.properties来手动为模块项目设置自定义许可证文件

project.licensePath=./nbproject/licenseheader.txt
然后创建新的许可证模板并将其保存到nbproject/licenseheader.txt

不幸的是,NetBeans 8.1似乎打破了这一点。创建新文件时,会收到以下错误消息,而不是自定义许可证文本:读取包含的文件模板/Classes/C:\some\path\module1\Templates\Classes\licenseheader.txt时出错

使用其中一个内置许可证模板确实有效。例如,要使用MIT许可证,请将此属性添加到nbproject/project.properties

project.license=mit

NetBeans 8.2的解决方案。可能在8.1中起作用,因为8.2会产生OP描述的错误消息

使用许可证模板文本创建文本文件:

${licenseFirst} ${licensePrefix}版权所有2017无论您是谁 ${licenseLast}

2.将模板添加到NetBeans

在IDE中,执行工具->模板并打开许可证节点。在这里您可以看到全局许可证标头模板的列表。按添加。。。然后浏览并从步骤1中选择模板文件。 一个新条目将出现在名为“license XXX.txt”的许可证下,其中XXX是您的许可证文件名-全部,因此如果您将文件命名为“license.txt”,则新条目将命名为“license license.txt.txt”。不要惊慌,你可以重新命名它。 我叫我的傻瓜。

在项目中设置许可证。 添加行 project.license=傻瓜意识 到nbproject/project.properties

现在,当您创建一个新的源时,if将包含指定的许可证标头

奖金!该设置继承自套件项目。 在套件项目属性中设置许可证会将该设置应用于套件中的所有模块。 在模块项目中设置许可将覆盖套件许可设置


我提交了一个bug:我已经测试过了,这是正确的答案。不幸的是,该错误阻止了当前使用该功能。谢谢你把这个bug报告记录下来,我会一直关注它的。