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