使用Gradle运行本地Web服务器

时间:2019-07-16 07:00:04

标签: java gradle webserver embeddedwebserver

我的Java应用程序产生了一些可视化效果(html,xml + xls)作为输出,由于浏览器的保护措施无法从文件系统提供输出。

我想提出一条像./gradlew view这样的命令来为我服务。例如,在npm中,一种方法是使用webpack-server或其他依赖项然后运行它。

是否存在使用gradle运行Web服务器的既定方法?

1 个答案:

答案 0 :(得分: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"
}

然后您可以像这样启动一个简单的Web服务器:

import static ratpack.groovy.Groovy.ratpack

ratpack {
    handlers {
        get {
            render "Hello World!"
        }
        get(":name") {
            render "Hello $pathTokens.name!"
        }
    }
}

我们主要将其用于测试API。如果要提供静态内容,则应查看GitHub中的asset-pipeline项目。