Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/eclipse/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何将RatpackAPI部署到远程服务器?_Java_Eclipse_Groovy_Deployment_Ratpack - Fatal编程技术网

Java 如何将RatpackAPI部署到远程服务器?

Java 如何将RatpackAPI部署到远程服务器?,java,eclipse,groovy,deployment,ratpack,Java,Eclipse,Groovy,Deployment,Ratpack,我使用Ratpack和Groovy创建了一个API。所有的GET、POST应用程序都在本地运行。现在我想把它移动到某个远程服务器(比如说开发环境)。我该怎么做? 要在本地启动和运行应用程序,我必须从EclipseIDE中执行“gradle运行”或“将Ratpack.groovy作为groovy脚本运行”。然后显示“在本地主机中运行的Ratpack服务器:8080”。然后我可以将这些api用作本地主机:8080/api/../../../../。。。但同时,当我尝试将其作为JAVA应用程序运行时,

我使用Ratpack和Groovy创建了一个API。所有的GET、POST应用程序都在本地运行。现在我想把它移动到某个远程服务器(比如说开发环境)。我该怎么做? 要在本地启动和运行应用程序,我必须从EclipseIDE中执行“gradle运行”或“将Ratpack.groovy作为groovy脚本运行”。然后显示“在本地主机中运行的Ratpack服务器:8080”。然后我可以将这些api用作本地主机:8080/api/../../../../。。。但同时,当我尝试将其作为JAVA应用程序运行时,我得到的错误如下:

{"@timestamp":"2016-06-02T14:47:06.026+05:30","@version":1,"message":"Starting server...","logger_name":"ratpack.server.RatpackServer","thread_name":"main","level":"INFO","level_value":20000,"tags":null}
Exception in thread "main" java.io.UncheckedIOException: java.io.IOException: Is a directory
    at ratpack.util.Exceptions.uncheck(Exceptions.java:52)
    at ratpack.groovy.Groovy.ratpack(Groovy.java:112)
    at ratpack.groovy.Groovy$ratpack.callStatic(Unknown Source)
    at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallStatic(CallSiteArray.java:56)
    at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callStatic(AbstractCallSite.java:194)
    at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callStatic(AbstractCallSite.java:206)
    at Ratpack.run(Ratpack.groovy:22)

为了在prod中部署它,我将jar移动到了服务器上。在此之后,我应该如何启动Ratpack服务器或API服务?

我建议设置一个CI管道,用于构建java jar并将工件部署到目标环境中

我建议使用John Engleman的Shadow插件

该插件生成一个shadow jar(类似于Maven的Shadowd jar),可以选择包含启动应用程序的bash脚本或批处理脚本

高级别建议:

  • 将阴影插件添加到gradle构建文件中

    插件{ id为'io.ratpack.ratpack groovy'版本'1.3.3' id为'com.github.johnrengelman.shadow'版本'1.2.3' }

  • 让您的CI服务器或手动执行'gradlew installShadowApp'

  • SCP/FTP将此工件从
    build/installShadow
    目录发送到目标服务器

  • build/installShadow/$appName/bin/$appName
    调用shell脚本以启动应用程序

  • 对于更易于维护的解决方案,我建议将此shell脚本注册为服务或使用类似于monit/upstart/etc的解决方案


    有关部署到Heroku的更详细示例,请参阅我的笔记:

    我建议设置一个CI管道,用于构建java jar并将工件部署到目标环境

    我建议使用John Engleman的Shadow插件

    该插件生成一个shadow jar(类似于Maven的Shadowd jar),可以选择包含启动应用程序的bash脚本或批处理脚本

    高级别建议:

  • 将阴影插件添加到gradle构建文件中

    插件{ id为'io.ratpack.ratpack groovy'版本'1.3.3' id为'com.github.johnrengelman.shadow'版本'1.2.3' }

  • 让您的CI服务器或手动执行'gradlew installShadowApp'

  • SCP/FTP将此工件从
    build/installShadow
    目录发送到目标服务器

  • build/installShadow/$appName/bin/$appName
    调用shell脚本以启动应用程序

  • 对于更易于维护的解决方案,我建议将此shell脚本注册为服务或使用类似于monit/upstart/etc的解决方案

    有关部署到Heroku作为示例的更详细示例,请参阅我的笔记: