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

How to set project license header in a NetBeans Module?

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

我知道如何为常规的 NetBeans Java 项目实现这一点。我在项目属性的 License Headers 部分下指定了我想要的文本。

NetBeans

在 IDE 中,执行 Tools->Templates 并打开 Licenses 节点。在这里,您可以看到全局许可标头模板列表。按添加...,然后浏览并选择步骤 1 中的模板文件。

一个新条目将出现在名为 \\'license-XXX.txt\\' 的许可证下,其中 XXX 是您的许可证文件名 - 全部,因此如果您将文件命名为 \\'license.txt\\',则新条目将命名为 \\ '许可证-许可证.txt.txt\\'。 (别慌,可以重命名。)

我打电话给我的FooLicense。

  • 在您的项目中设置许可证。
    添加行

    project.license=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