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

时间:2016-07-20 14:30:38

标签: netbeans

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

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

NetBeans Java Project Properties

但是,当我尝试设置NetBeans Module项目的许可证标头时,模块的项目属性中没有License Headers部分。 NetBeans Module Project Properties

我想在项目级别而不是在NetBeans级别设置此许可证,因为我希望我的整个团队为他们创建的任何文件获取新模板。 (我知道我可以通过转到Tools -> Template Manager并在那里进行自定义来更改整个NetBeans。但是,我的其他团队成员将无法获得标题。)

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

2 个答案:

答案 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描述的错误消息。)

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

    <#if licenseFirst??> ${licenseFirst} ${licensePrefix}Copyright 2017 Whoever you are <#if licenseLast??> ${licenseLast}

  2. 2.将模板添加到NetBeans

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

    新条目将显示在名为“license-XXX.txt”的许可证下,其中XXX是您的许可证文件名 - 所有这些条目,因此如果您将文件命名为“license.txt”,则新条目将被命名为“license-license”。 txt.txt”。 (不要惊慌,你可以重命名。)

    我打电话给我的FooLicense。

    1. 在项目中设置许可证。 添加行

      project.license=FooLicense

      到nbproject / project.properties

    2. 现在,当您创建新来源时,if将包含指定的许可证标题。

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