Avatar.js和Project Avatar

jba*_*ndi 8 java java-8 nashorn avatarjs project-avatar

在Java 8和Nashorn的上下文中,我看到经常提到的两个项目.

Avatar.jsProject Avatar

这些项目的关系是什么?

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的当前版本将允许您运行与节点兼容的模块.

正如您所指出的,这两项举措都缺乏文档,而且还处于起步阶段.时间和社区参与将显示他们最适合的地方.

  • @jbandi我已经更新了答案,以便更好地回答我误读的第二个问题. (2认同)

jba*_*ndi 7

确实,Avatar.js包含在Project Avatar中.通过查看Project Avatar的Maven POM文件,我发现通过java.net Maven存储库可以获得Avatar.js的二进制分发版.

根据这一发现,我写了一篇博客文章,介绍如何使用Avatar.js运行简单的Node.js应用程序: 使用Nashorn和Java 8在JVM上运行Node.js应用程序

OSX重复的步骤如下:

  1. 从java.net Maven Repo下载avatar-js.jar.当前版本在这里: https ://maven.java.net/content/repositories/public/com/oracle/avatar-js/0.10.25-SNAPSHOT/示例文件:avatar-js-0.10.25-20140313.063039-43.罐
  2. 从java.net Maven Repo下载本机库avatar-js.dylib.当前版本如下: https
    ://maven.java.net/content/repositories/public/com/oracle/libavatar-js-macosx-x64/0.10.25-SNAPSHOT/示例文件:libavatar-js-macosx-x64- 0.10.25-20140312.062209-35.dylib
    对于Linux,你可以从../libavatar-js-linux-x64/0.10.25-SNAPSHOT/下载相应的.so文件.
    对于Windows,你可以从...下载相应的.dll文件. /libavatar-js-win-x64/0.10.25-SNAPSHOT/
  3. 将本机库重命名为avatar-js.dylib并将jar重命名为avatar-js.jar并将它们放在名为dist的目录中.
  4. 在名为app.js的文件中创建一个简单的Node.js应用程序.
  5. 运行命令: java -Djava.library.path=dist -jar dist/avatar-js.jar app.js