如何从maven使用scala.js

7

有没有办法在Maven中使用scala.js。我想在基于Maven的项目中使用scala.js,据我所知,将sbt与maven集成起来很困难。


理论上你可以在Maven中使用它。你只需要找到完全限定名称的构件,因为在Maven中没有%%%%%(这两个符号分别用于Scala.js和Scala版本来验证构件名称)。 - Nader Ghanbari
2个回答

10

1
我很好奇,这只是针对eclipse/scala IDE而不是普遍适用于maven吗? - tribbloid

4

很不幸,目前还没有Maven插件可以支持Scala.js,因此无法直接实现。

Scala.js包含以下几个部分:

  • 一个编译器插件,可通过Scala的Maven插件启用
  • 其自己的库:scalajs-library和可选的scalajs-javalibex
  • 链接时工具:这些工具直接在sbt插件中公开,尽管其核心在单独的scalajs-tools库中,该库可以被Scala.js的Maven插件重用。

截至Scala.js 0.6.0版本,所有这些内容都已发布到Maven Central上,因此可以通过Maven解析。(除了带有sbt特定部分的sbt插件,但这不是必需的。)

只要没有人真正为Scala.js开发一个合适的Maven插件,最简单的方法可能是从Maven调用Scala.js命令行界面来调用链接时间工具(特别是scalajsld)。我不了解Maven,但我认为它在其管道中有调用外部命令行程序的任务。

编辑:更新为Scala.js 0.6.x:现在发布的构件在Maven Central上。


哇,这真的很痛苦,但是我没有比其他人更多的时间来编写Maven插件。该死! - Brian Topping
1
自此以后,Scala.js已经发布了0.6.x版本,至少将所有内容发布在Maven Central上。现在我们只需要一个Maven插件。^^(或调用CLI。) - sjrd
1
是否有编译和运行简单的Scala.js hello-world程序的示例,而不涉及SBT?我已经下载了命令行界面,但没有关于如何运行bin中的3个命令的指导。scalajsc非常明显,但我不知道该怎么做。 - Eric Kolotyluk
1
@Eric Kolotyluk 请看一下这个文档:https://github.com/scala-js/scala-js/blob/master/TESTING 它不是文档,但它展示了如何使用CLI。 - sjrd
那份文档有些帮助,但是可读性严重不足。我遇到的第一个问题是Windows脚本scalajsc.bat存在缺陷。最终我找到了直接从scalac编译Scala.js的方法。我生成了test.js,但是我不知道如何运行它。很难相信在没有实际文档说明的情况下,有人曾经从命令行构建过Scala.js应用程序。 - Eric Kolotyluk
显示剩余4条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接