使用Groovy和外部库的Spring启动

时间:2014-11-10 21:28:18

标签: spring groovy spring-boot

我正在努力构建一个有效的一次性Spring Boot应用程序。使用CLI,我可以获得基本页面并开始工作(参见https://spring.io/guides/gs/spring-boot/)。但是,我还没想到该怎么做,当我使用“spring run”或“spring jar”命令时,我如何将外部依赖项(即第三方JAR文件)添加到编译或运行时类路径中。请注意,这些外部依赖项是我的计算机的本地依赖项,并不存​​储在工件存储库中。有一种简单的方法可以做到这一点吗?

2 个答案:

答案 0 :(得分:3)

如果jar文件不在工件库中,则将它们添加到类路径的最简单方法是在运行应用程序或创建jar时使用-cp

例如:

spring run -cp foo.jar app.groovy

或者:

spring jar -cp foo.jar app.jar app.groovy

spring jar的情况下,使用-cp添加到类路径的任何内容都将打包在生成的jar(在本例中为app.jar)中,以确保它是自包含的。

答案 1 :(得分:1)

你可以使用groovy的@Grab表示法(还有spring grab来电)。 E.g。

@Grab('joda-time:joda-time:2.5')

@RestController
class ThisWillActuallyRun {

    @RequestMapping("/")
    String home() {
        return new org.joda.time.DateTime().toString()
    }

}