运行从Gradle中的Maven下载的Java工件

时间:2013-08-15 16:58:18

标签: maven gradle

我如何运行工件(比如说它叫做A)我是从maven下载的?此工件对其他maven工件具有运行时依赖性。我使用JettyRun任务让它工作。这涉及在src / main / java目录中拥有工件A的源文件。假设我没有任何源文件(我的所有jars / dependencies都是从maven资源库中检索的),我如何使用JettyRun或其他任务启动工件A中的Java程序?

2 个答案:

答案 0 :(得分:0)

我认为Jetty插件不允许您将项目指向WAR文件。相反,你可以给Cargo plugin一个镜头。这是一个示例配置:

cargo {
    containerId = 'jetty7x'
    port = 9090

    deployable {
        file = file('/your/path/A.war')
        context = 'yourcontext'
    }

    local {
        homeDir = file('/your/path/to/jetty-7')
    }
}

答案 1 :(得分:0)

我可以使用下面显示的代码启动服务器。我将jar文件添加到本地存储库,然后向该jar添加了编译依赖项以及它依赖的所有其他工件。主要的是类路径。

compileJava.enabled = false
task runServer(type:JettyRun){
  daemon = true
  classpath = sourceSets.main.compileClasspath
  httpPort = 8984
}

当我到达build.gradle的末尾时,服务器停止运行。有没有办法保持服务器的生命?我需要将守护进程设置为true,因为在服务器启动后我需要执行一些任务。但是,一旦完成所有这些任务,我需要保持服务器正常运行。如何在脚本完成时阻止服务器关闭?