在 Java 8 和 Nashorn 的背景下,我看到两个项目经常被提及。
Avatar.js https://avatar-js.java.net/index.html and 项目阿凡达 https://avatar.java.net/index.html
这些项目之间有何关系?
Avatar.js 的文档很少。据我所知,它提供了在 JVM 上执行节点应用程序的可能性。
Project Avatar 似乎是建立在 Avatar.js 之上的。然而,范围似乎是为 Java EE 7 提供替代的 Web 框架。是否也可以使用 Project Avatar 执行节点程序(例如 grunt)?
Update:项目阿凡达是正式停止 https://web.archive.org/web/20150811142451/https://blogs.oracle.com/theaquarium/entry/project_avatar_update2015年2月12日。
Avatar.js 是非正式称为“node.jar”的开源版本(请参阅这个帖子 https://java.net/projects/avatar-js/lists/users/archive/2013-10/message/1来自 avatar-js 邮件列表)。换句话说,它是一个与 NodeJS 兼容的 API,运行在 Nashorn 上。 Project Avatar 似乎是 Oracle 对 NodeJS API 的回应,提供了一个替代平台,该平台还通过 Avatar.js 提供与 NodeJS API 和生态系统的兼容性。
因此,并不是 Project Avatar 是基于 Avatar.js 构建的,而是“Avatar.js 是 Project Avatar 的一个组件。Nashorn 是用于运行两者的 JavaScript 引擎”。 (再次,从这个帖子 https://java.net/projects/avatar-js/lists/users/archive/2013-10/message/1).
The Avatar.js 主页 https://avatar-js.java.net/目前有一个已知可以运行的模块列表,包括“grunt”。看来 Project Avatar 目前包含一个名为“avatar-js.jar”的 Avatar.js 版本,如当前的最新提交 https://java.net/projects/avatar/sources/git/show/lib?rev=c41432b048554c579c24e879451309a6825f3641,虽然已经4个月大了。所以我认为答案是肯定的,Project Avatar 的当前版本将允许您运行 Node 兼容的模块。
正如您所指出的,这两项举措都缺乏文档,并且还处于起步阶段。时间和社区参与将显示出它们最适合的地方。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)