我有一个非常奇怪的问题,当我将grails应用程序部署到CloudFOundry(run.pivotal.io)时,会遇到奇怪的异常。
2015-02-16T11:12:18.000+00:00 [App/0] OUT at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:370)
2015-02-16T11:12:18.000+00:00 [App/0] OUT at org.vertx.java.platform.impl.java.JavaVerticleFactory.createVerticle(JavaVerticleFactory.java:51)
2015-02-16T11:12:18.000+00:00 [App/0] OUT java.lang.RuntimeException: Compilation failed
2015-02-16T11:12:18.000+00:00 [App/0] OUT vert.x-eventloop-thread-2] ERROR impl.DefaultContext - Unhandled exception
2015-02-16T11:12:18.000+00:00 [App/0] OUT ... 7 more
2015-02-16T11:12:18.000+00:00 [App/0] OUT Caused by: java.lang.RuntimeException: Unable to detect java compiler, make sure you're using a JDK not a JRE!
2015-02-16T11:12:18.000+00:00 [App/0] OUT at java.lang.Thread.run(Thread.java:745)
2015-02-16T11:12:18.000+00:00 [App/0] OUT at io.netty.util.concurrent.SingleThreadEventExecutor$2.run(SingleThreadEventExecutor.java:116)
2015-02-16T11:12:18.000+00:00 [App/0] OUT at org.vertx.java.platform.impl.java.CompilingClassLoader.<init>(CompilingClassLoader.java:108)
2015-02-16T11:12:18.000+00:00 [App/0] OUT at org.vertx.java.platform.impl.DefaultPlatformManager$21.run(DefaultPlatformManager.java:1740)
2015-02-16T11:12:06.000+00:00 [App/0] OUT Configuring Spring Security Core ...
2015-02-16T11:12:00.000+00:00 [App/0] OUT [CONTAINER] udAutoReconfigurationApplicationContextInitializer INFO Adding cloud service auto-reconfiguration to ApplicationContext
2015-02-16T11:11:58.000+00:00 [App/0] OUT [CONTAINER] org.apache.tomcat.util.digester.Digester INFO TLD skipped. URI: http://www.springframework.org/tags/form is already defined
2015-02-16T11:11:58.000+00:00 [App/0] OUT [CONTAINER] org.apache.tomcat.util.digester.Digester INFO TLD skipped. URI: http://www.springframework.org/tags is already defined
那是什么?
在BootStrap.groovy中,我定义了-
def init = { servletContext ->
vertxPlatformManager = PlatformLocator.factory.createPlatformManager()
URL[] classpath = [new File("src/java/pizzaVerticles/src/vertx/java/hello").toURI().toURL()]
vertxPlatformManager.deployVerticle("RateFetcherVerticleFirebase.java", null, classpath, 1, null, null)
vertxPlatformManager.deployVerticle("Server.java", null, classpath, 1, null, null)
vertxPlatformManager.deployVerticle("SocialTweety.java", null, classpath, 1, null, null)
}
还有其他一些东西,但是它们是数据库的记录,可以正常工作。
首先,我遇到了找不到资源等错误的问题:Server.java
这三个Java文件均出错。然后,我将这些java文件放在web-app文件夹中,并在创建war时也将它们拾取。但是现在我有一个奇怪的异常(exception)。谷歌搜索周围,找不到任何相关。非常感谢您的帮助,谢谢!
我是CloudFoundry的新手。应用程序在grails,vertx上运行,并使用gradle构建并部署到CF。在本地运行时工作正常。
最佳答案
尝试运行本教程(http://docs.cloudfoundry.org/buildpacks/java/gsg-grails.html),看看它是否首先起作用,然后尝试找出您不起作用的地方。
关于java - CloudFoundry Grails-无法检测Java编译器,请确保您使用的是JDK而不是JRE,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28541627/