Java Avatar.js和项目Avatar

Java Avatar.js和项目Avatar,java,java-8,nashorn,avatarjs,project-avatar,Java,Java 8,Nashorn,Avatarjs,Project Avatar,在Java8和Nashorn的上下文中,我经常提到两个项目 及 这些项目之间有什么关系 Avatar.js几乎没有文档。据我所知,它提供了在JVM上执行节点应用程序的可能性 阿凡达项目似乎是建立在Avatar.js上的。然而,其范围似乎是为JavaEE7提供一个替代的Web框架。是否也可以使用Project Avatar执行节点程序(如grunt?更新:Project Avatar was 2015-02-12 Avatar.js是被非正式地称为“node.jar”的开源版本(参见Avatar

在Java8和Nashorn的上下文中,我经常提到两个项目

这些项目之间有什么关系

Avatar.js几乎没有文档。据我所知,它提供了在JVM上执行节点应用程序的可能性


阿凡达项目似乎是建立在Avatar.js上的。然而,其范围似乎是为JavaEE7提供一个替代的Web框架。是否也可以使用Project Avatar执行节点程序(如grunt?

更新:Project Avatar was 2015-02-12

Avatar.js是被非正式地称为“node.jar”的开源版本(参见Avatar js邮件列表)。换句话说,它是一个与NodeJS兼容的API,运行在Nashorn上。Project Avatar似乎是Oracle对NodeJS API的回应,它提供了一个替代平台,还通过Avatar.js提供了与NodeJS API和生态系统的兼容性

因此,不是说Project Avatar是基于Avatar.js构建的,而是“Avatar.js是Project Avatar的一个组件。Nashorn是用于运行两者的JavaScript引擎。”

当前有一个已知可运行的模块列表,包括“grunt”。看起来《阿凡达》项目目前包含了一个名为“Avatar js.jar”的Avatar.js版本,正如当前版本中所示,尽管它已经有4个月的历史了。所以我认为答案是肯定的,当前构建的Project Avatar将允许您运行与节点兼容的模块

正如您所指出的,这两个计划都缺乏文档,并且都处于起步阶段。时间和社区参与将显示出他们最适合的地方。

确实是最适合的;代码使用Maven集成到我们的构建中。(约翰,你找到的那个罐子很旧,因为我们不再使用它了——我只是用核弹炸了它,谢谢)


是的,我们知道我们的文档需要更多的工作。目前,我们主要关注充实服务器端JavaScript框架。此服务层提供了一个经过调优的运行时,用于轻松创建REST、WebSocket和服务器发送的事件端点

项目Avatar中确实包含了Avatar.js。 通过查看Project Avatar的Maven POM文件,我发现java.net Maven存储库中提供了Avatar.js的二进制发行版

基于这一发现,我在这里写了一篇博客文章,介绍如何使用Avatar.js运行简单的Node.js应用程序:

此处重复OSX的步骤:

  • 从java.net Maven Repo下载avatar-js.jar。当前版本 这是: 示例文件:avatar-js-0.10.25-20140313.063039-43.jar
  • 从java.net Maven下载本机库avatar-js.dylib 回购协议。当前版本如下:
    示例文件:libavatar-js-macosx-x64-0.10.25-20140312.062209-35.dylib
    适用于Linux 您可以从../libavatar-js-linux-x64/0.10.25-SNAPSHOT/
    对于Windows,您可以 从下载相应的.dll文件 ../libavatar-js-win-x64/0.10.25-SNAPSHOT/
  • 将本机库重命名为avatar-js.dylib,并将jar重命名为 avatar-js.jar并将两者放在名为dist的目录中
  • 在名为app.js的文件中创建一个简单的Node.js应用程序
  • 运行命令:
    java-Djava.library.path=dist-jar dist/avatar-js.jar app.js

  • 谢谢你的澄清。目前,Avatar.js甚至没有二进制发行版,构建过程看起来相当复杂(涉及Python和C++)。因此,我的问题是:如果我获得了Project Avatar的发行版,我是否“免费”获得了Avatar.js。具体来说:我有办法在JVM上运行普通节点程序(比如grunt)吗?@jbandi我已经更新了答案,以便更好地回答我误读的第二个问题。因此,看起来实际上java.net Maven存储库中提供了Avatar.js的二进制发行版。。。例如,对于Windows,您可以在“谢谢”中找到最新版本。在Linux上重命名.so to dist/libavatar-js.soI不明白为什么他们需要本机库来支持这个。。。太糟糕了,对我来说有点不合格。似乎这个项目很长时间没有收到任何更新…@StijndeWitt project Avatar已经停止:@jbandi我也这么怀疑,但你的链接清楚地证实了这一点。谢谢你发帖!