1

我使用activator new simple play-scala命令创建了一个新项目。simple是我的项目名称。我想将此项目导入到我的 Eclipse(ScalaIDE)中,所以我使用activator eclipse了命令,但它显示了以下异常

[error] Not a valid command: eclipse (similar: help, alias)
 [error] Not a valid project ID: eclipse 
[error] Expected ':' [error] Not a valid key: eclipse (similar: deliver, licenses, clean) 
[error] eclipse [error]

对于这个错误,我添加了addSbtPlugin("com.typesafe.sbteclipse" % "sbteclipse-plugin" % "4.0.0") https://www.playframework.com/documentation/2.4.x/IDE命令simple/project/plugins.sbt它解决了上述错误,但它显示了错误

 [warn]            +- default:simple_test-build:0.1-SNAPSHOT (scalaVersion=2.10,
    sbtVersion=0.13)
    sbt.ResolveException: unresolved dependency: com.typesafe.sbteclipse#sbteclipse-
    plugin;4.0.0: not found
        at sbt.IvyActions$.sbt$IvyActions$$resolve(IvyActions.scala:291)
        at sbt.IvyActions$$anonfun$updateEither$1.apply(IvyActions.scala:188)
        at sbt.IvyActions$$anonfun$updateEither$1.apply(IvyActions.scala:165)
        at sbt.IvySbt$Module$$anonfun$withModule$1.apply(Ivy.scala:155)
        at sbt.IvySbt$Module$$anonfun$withModule$1.apply(Ivy.scala:155)
        at sbt.IvySbt$$anonfun$withIvy$1.apply(Ivy.scala:132)
        at sbt.IvySbt.sbt$IvySbt$$action$1(Ivy.scala:57)
        at sbt.IvySbt$$anon$4.call(Ivy.scala:65)
        at xsbt.boot.Locks$GlobalLock.withChannel$1(Locks.scala:93)
        at xsbt.boot.Locks$GlobalLock.xsbt$boot$Locks$GlobalLock$$withChannelRet
ries$1(Locks.scala:78)
        at xsbt.boot.Locks$GlobalLock$$anonfun$withFileLock$1.apply(Locks.scala:
97)
        at xsbt.boot.Using$.withResource(Using.scala:10)
        at xsbt.boot.Using$.apply(Using.scala:9)
        at xsbt.boot.Locks$GlobalLock.ignoringDeadlockAvoided(Locks.scala:58)
        at xsbt.boot.Locks$GlobalLock.withLock(Locks.scala:48)
        at xsbt.boot.Locks$.apply0(Locks.scala:31)
        at xsbt.boot.Locks$.apply(Locks.scala:28)
        at sbt.IvySbt.withDefaultLogger(Ivy.scala:65)
        at sbt.IvySbt.withIvy(Ivy.scala:127)
        at sbt.IvySbt.withIvy(Ivy.scala:124)
        at sbt.IvySbt$Module.withModule(Ivy.scala:155)
        at sbt.IvyActions$.updateEither(IvyActions.scala:165)
        at sbt.Classpaths$$anonfun$sbt$Classpaths$$work$1$1.apply(Defaults.scala
:1369)
        at sbt.Classpaths$$anonfun$sbt$Classpaths$$work$1$1.apply(Defaults.scala
:1365)
        at sbt.Classpaths$$anonfun$doWork$1$1$$anonfun$87.apply(Defaults.scala:1
399)
        at sbt.Classpaths$$anonfun$doWork$1$1$$anonfun$87.apply(Defaults.scala:1
397)
        at sbt.Tracked$$anonfun$lastOutput$1.apply(Tracked.scala:37)
        at sbt.Classpaths$$anonfun$doWork$1$1.apply(Defaults.scala:1402)
        at sbt.Classpaths$$anonfun$doWork$1$1.apply(Defaults.scala:1396)
        at sbt.Tracked$$anonfun$inputChanged$1.apply(Tracked.scala:60)
        at sbt.Classpaths$.cachedUpdate(Defaults.scala:1419)
        at sbt.Classpaths$$anonfun$updateTask$1.apply(Defaults.scala:1348)
        at sbt.Classpaths$$anonfun$updateTask$1.apply(Defaults.scala:1310)
        at scala.Function1$$anonfun$compose$1.apply(Function1.scala:47)
        at sbt.$tilde$greater$$anonfun$$u2219$1.apply(TypeFunctions.scala:40)
        at sbt.std.Transform$$anon$4.work(System.scala:63)
        at sbt.Execute$$anonfun$submit$1$$anonfun$apply$1.apply(Execute.scala:22
6)
        at sbt.Execute$$anonfun$submit$1$$anonfun$apply$1.apply(Execute.scala:22
6)
        at sbt.ErrorHandling$.wideConvert(ErrorHandling.scala:17)
        at sbt.Execute.work(Execute.scala:235)
        at sbt.Execute$$anonfun$submit$1.apply(Execute.scala:226)
        at sbt.Execute$$anonfun$submit$1.apply(Execute.scala:226)
        at sbt.ConcurrentRestrictions$$anon$4$$anonfun$1.apply(ConcurrentRestric
tions.scala:159)
        at sbt.CompletionService$$anon$2.call(CompletionService.scala:28)
        at java.util.concurrent.FutureTask.run(FutureTask.java:266)
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:51
1)
        at java.util.concurrent.FutureTask.run(FutureTask.java:266)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.
java:1142)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor
.java:617)
        at java.lang.Thread.run(Thread.java:745)
[error] (*:update) sbt.ResolveException: unresolved dependency: com.typesafe.sbt
eclipse#sbteclipse-plugin;4.0.0: not found  

sbt 版本:=0.13.8 scalaVersion: =2​​.11.6

我也试过addSbtPlugin("com.typesafe.sbteclipse" % "sbteclipse-plugin" % "3.0.0")这个它成功地构建了eclipse项目,但它显示了错误

应用程序.scala

object index is not a member of package views.html

index.scala.html,main.scala.html

Multiple annotations found at this line:
- type Html is not a member of package play.api.templates
- type Html is not a member of package play.api.templates
- type Html is not a member of package play.api.templates
- object HtmlFormat is not a member of package
play.api.templates
4

2 回答 2

4

首先,ScalaIDE 仍处于开发阶段,还不如 Eclipse JDT 稳定。据我所知,尤其是 Play 支持仍然存在一些问题。但是,使用 activator/sbt,您可以毫无问题地编译、测试和运行您的 Play 代码。

但是让我们看看你的错误信息。我假设你想摆脱它们。;)

  1. 使用addSbtPlugin("com.typesafe.sbteclipse" % "sbteclipse-plugin" % "3.0.0"). 4.0.0 尚未最终/可用。
  2. object index is not a member of package views.html. 看看这个问题的答案。目前还没有通用的解决方案。但是,对我来说,它可以在项目的构建路径中包含另外两个源文件夹:

    target/scala-2.11/routes/main
    target/scala-2.11/twirl/main
    
  3. type Html is not a member of package play.api.templates等等。我不知道如何解决这个问题。但是,如果您在进行更改后关闭 html 文件,然后进行干净的构建,所有错误消息都将消失。

更新:Scala IDE 用户组中有关于问题 3 的讨论。但是,还没有解决方案。

于 2015-06-01T22:32:29.150 回答
0

我有同样的问题。将 sbteclipse 插件版本设置为更早的版本是行不通的,因为 sbt 坚决拒绝它,并为 4.0 版本丢弃它,这是不可用的。Sbt 很痛苦......甚至他们的网站也没有关于这个问题的文档,从它的外观来看,它至少有一年的历史?

于 2016-06-17T13:24:53.763 回答