如何显示学分
Posted
技术标签:
【中文标题】如何显示学分【英文标题】:How to display credits 【发布时间】:2010-09-21 15:11:47 【问题描述】:我想感谢我们在(商业)应用程序中使用的所有开源库。我想在我们的关于对话框中显示一个 html 页面。我们的构建过程使用 ant,第三方库在 svn 中提交。
您认为生成 HTML 页面的最佳方式是什么?
对 HTML 页面进行硬编码? 将依赖管理切换到 apache-ivy 并编写一些 ant 任务来生成 html 使用 maven-ant-tasks 并编写一些 ant 任务来生成 HTML 仅使用 maven 处理依赖项和 HTML,下载并提交它们。其余由未更改的 ant 脚本完成 切换到 maven2(嘿老板,我想切换到 maven,1 个月后构建可能会再次工作......) ...关于对话框应该显示哪些元素?
库名称 版本 许可证 作者 首页 对源存档链接所做的更改 ...是否有一些最佳实践建议?一些很好的例子(应用程序有一个很好的关于对话框来显示依赖关系)?
【问题讨论】:
【参考方案1】:您需要考虑两件不同的事情。
首先,您可能需要识别第三方代码的许可。这通常与 THIRDPARTYLICENSE 文件有关。 Sun Microsystems 经常这样做。例如,查看 OpenOffice.org 的安装目录。有此类文件的 .txt 和 .html 版本的示例。
其次,您可能希望在“关于”框中简要标识您的依赖项(并参考许可证信息文件)。我会确保版本出现在“关于”框中。人们想要快速检查的一件事是指示他们拥有的代码副本是否需要替换或更新,因为您的库依赖项之一具有最近披露的错误或安全漏洞。
所以我想您想在 about 框中添加的另一件事是人们可以找到您的支持网站以及对特定版本用户的任何重要通知(无论您的应用中是否有提供在线检查更新)。
【讨论】:
【参考方案2】:蚂蚁任务似乎是最好的方法。我们在我们的一个项目中做了类似的事情。所有开源库都存在于指定的文件夹中。 Ant 任务读取这些库、版本等的清单并生成一个 HTML,复制到另一个指定的文件夹中,Web 容器将从该文件夹中获取它。
【讨论】:
如果库jar的Manifest不包含一些信息怎么办?【参考方案3】:如果库不经常更改,则在每次构建时生成页面将是一种浪费。库版本可能会更改,但实际库不会更改。更容易地创建一个 HTML 页面将是最简单的方法,但这是另一个维护头痛的问题。生成一次并将其包含在包中。如果对库进行了某些更改(更新版本、添加新库),该脚本始终可以再次运行。
【讨论】:
以上是关于如何显示学分的主要内容,如果未能解决你的问题,请参考以下文章