【问题标题】:Running a local web server with Gradle使用 Gradle 运行本地 Web 服务器
【发布时间】:2019-07-16 07:00:04
【问题描述】:
我的 java 应用程序生成一些可视化(html、xml+xls)作为输出,由于浏览器保护措施,这些输出无法从文件系统中提供。
我想写一个像./gradlew view 这样的命令来为我服务。例如在npm 中,其中一种方法是使用webpack-server 或其他一些依赖项然后运行它。
有没有一种既定的方式来运行带有 gradle 的网络服务器?
【问题讨论】:
标签:
java
gradle
webserver
embeddedwebserver
【解决方案1】:
我认为你应该看看Ratpack。它可以通过以下配置轻松地在 gradle 脚本中使用:
buildscript {
repositories {
jcenter()
}
dependencies {
classpath "io.ratpack:ratpack-gradle:1.7.0"
}
}
apply plugin: "io.ratpack.ratpack-groovy"
apply plugin: "idea"
repositories {
jcenter()
}
dependencies {
runtime "org.slf4j:slf4j-simple:1.7.25"
}
然后你可以像这样启动一个简单的网络服务器:
import static ratpack.groovy.Groovy.ratpack
ratpack {
handlers {
get {
render "Hello World!"
}
get(":name") {
render "Hello $pathTokens.name!"
}
}
}
我们主要用它来测试 API。如果你想提供静态内容,你应该看看 GitHub 中的asset-pipeline 项目。