jba*_*ndi 8 java java-8 nashorn avatarjs project-avatar
在Java 8和Nashorn的上下文中,我看到经常提到的两个项目.
这些项目的关系是什么?
Avatar.js的文档很少.据我所知,它提供了在JVM上执行节点应用程序的可能性.
项目头像似乎建立在Avatar.js上.但是,范围似乎是为Java EE 7提供替代Web框架.是否也可以使用Project Avatar执行节点程序(例如grunt)?
Joh*_*ann 10
更新: "阿凡达"项目于2015-02-12 正式停止.
Avatar.js是非正式名称为"node.jar"的开源版本(请参阅avatar-js邮件列表中的这篇文章).换句话说,它是在Nashorn上运行的与NodeJS兼容的API.Project Avatar似乎是Oracle对NodeJS API的回应,提供了一个替代平台,该平台还通过Avatar.js提供与NodeJS API和生态系统的兼容性.
因此,Project Avatar不是建立在Avatar.js上,而是"Avatar.js是Project Avatar的一个组件.Nashorn是用于运行这两者的JavaScript引擎." (再次,从这篇文章).
该Avatar.js主页目前已知的运行模块,包括"咕噜"的列表.看起来Project Avatar目前包含Avatar.js的版本为"avatar-js.jar",如当前最新提交中所见,尽管已有4个月之久.所以我认为答案是肯定的,Project Avatar的当前版本将允许您运行与节点兼容的模块.
正如您所指出的,这两项举措都缺乏文档,而且还处于起步阶段.时间和社区参与将显示他们最适合的地方.
确实,Avatar.js包含在Project Avatar中.通过查看Project Avatar的Maven POM文件,我发现通过java.net Maven存储库可以获得Avatar.js的二进制分发版.
根据这一发现,我写了一篇博客文章,介绍如何使用Avatar.js运行简单的Node.js应用程序: 使用Nashorn和Java 8在JVM上运行Node.js应用程序
OSX重复的步骤如下:
java -Djava.library.path=dist -jar dist/avatar-js.jar app.js