2011-08-18 88 views
0

好吧,我是SBT和Scala的新手,我试图创建一个简单的网络应用程序。 现在我挣扎着爬一些简单的HTML文件上显示http://localhost:8080 我的文件夹结构如下:SBT jetty webapp - 来自src的文件没有被复制到目标文件夹中 - 无法查看简单的HTML文件我放在那里

+clever_dropbox_server 
|-+project 
| |-+boot 
| | |-... 
| |-+plugins 
| | |-build.sbt 
| | |-... 
| |-+target 
| | |-... 
|-+src 
| |-+main 
| | |-+scala 
| | |-+webapps 
| | | |-+cleverdropbox 
| | | | |-+css 
| | | | | |-style.css 
| | | | |-+images 
| | | | | |-... 
| | | | |-+js 
| | | | | |-... 
| | | | |-+WEB-INF 
| | | | | |-+classes 
| | | | |-index.html 
| | | | |-... 
| |-+test 
| | |-... 
|-+target 
| |-... 
|-build.sbt 

好,下插件的build.sbt文件,包含此:

//********************** 
//* SBT Eclipse plugin * 
//********************** 

resolvers += { 
    val typesafeRepoUrl = new java.net.URL("http://repo.typesafe.com/typesafe/releases") 
    val pattern = Patterns(false, "[organisation]/[module]/[sbtversion]/[revision]/[type]s/[module](-[classifier])-[revision].[ext]") 
    Resolver.url("Typesafe Repository", typesafeRepoUrl)(pattern) 
} 

libraryDependencies <<= (libraryDependencies, sbtVersion) { (deps, version) => 
    deps :+ ("com.typesafe.sbteclipse" %% "sbteclipse" % "1.3-RC2" extra("sbtversion" -> version)) 
} 

//****************** 
//* SBT Web plugin * 
//****************** 

resolvers += "Web plugin repo" at "http://siasia.github.com/maven2"  

//Following means libraryDependencies += "com.github.siasia" %% "xsbt-web-plugin" % "0.1.1-<sbt version>"" 
libraryDependencies <+= sbtVersion(v => "com.github.siasia" %% "xsbt-web-plugin" % ("0.1.1-"+v)) 

所以我将能够在eclipse中为项目工作,并为web插件提供支持。

在主目录下的build.sbt文件包含:

name := "clever_dropbox_server" 

version := "0.1" 

organization := "GilaDana" 

scalaVersion := "2.9.0-1" 


seq(webSettings: _*) 


resolvers += "Java.net Maven2 Repository" at "http://download.java.net/maven/2/" 


// Customize any further dependencies as desired 
libraryDependencies ++= Seq(
    "org.mortbay.jetty" % "jetty" % "6.1.22" % "jetty,test", 
    "org.eclipse.jetty" % "jetty-server" % "7.4.5.v20110725",// % "compile,jetty", 
    "org.eclipse.jetty" % "jetty-servlet" % "7.4.5.v20110725",// % "compile,jetty", 
    "javax.ws.rs" % "jsr311-api" % "1.1.1", 
    "com.sun.jersey" % "jersey-server" % "1.8", 
    "com.sun.jersey" % "jersey-core" % "1.8", 
    "com.sun.jersey" % "jersey-json" % "1.8", 
    "org.scala-tools.testing" % "specs_2.9.0" % "1.6.8" % "test", // For specs.org tests 
    "javax.servlet" % "servlet-api" % "2.5" % "provided->default" 
) 

我的意图是有一个简单的码头服务器,将服务于浏览器的请求,而另一个嵌入码头服务器来服务不同的端口上clever_dropbox_client通信。两者都必须处理相同的数据库和相同的文件夹,但除此之外,两者之间没有关系。

(关于项目的几句话:我是BIU的学生,我们得到了这个项目来创建一个类似Dropbox的应用程序,只做了一些修改,比如只存储服务器上每个文件的一个副本 - 即使它由不同名称的2个不同用户共享 - 以节省服务器存储空间,或者具有与每个帐户中的文件具有M:N关系的标记系统等等)...)

问题是,当我从sbt控制台执行jetty-run命令时,我在localhost上得到404:8080/cleverdropbox

当我试图弄清楚为什么,我发现sbt不会复制HTML/JS/CSS文件到目标文件夹。

我不希望这些文件手动复制,也不是我想我应该(将SBT能允许吗?还是会在下次重装/更新要删除的文件/编译命令?)

所以,我做错了什么?

+0

webapp的默认文件夹应该是'src/main/webapp'而不是''' –

+0

谢谢!!!有效!多么愚蠢的错误... –

+0

@Mark请加上,作为答案。 –

回答

1

如评论中所述,sbt将在src/main/webapp文件夹中查找您的HTML文件,而不会出现结尾的's'。

相关问题