Grails应用程序赢得';t在AmazonEC2中运行,但在windows中运行良好

Grails应用程序赢得';t在AmazonEC2中运行,但在windows中运行良好,grails,amazon-web-services,amazon-ec2,Grails,Amazon Web Services,Amazon Ec2,我有一个grails应用程序,它在windows中运行得非常好,并且作为WAR文件部署到Amazon elastic beanstalk中时也运行得非常好。但它不会在AmazonEC2机器上运行。为什么会这样?以下是我尝试运行时得到的输出: | Compiling 134 source files. | Error Compilation error: startup failed: Compile error during compilation with javac. /home/ec2-u

我有一个grails应用程序,它在windows中运行得非常好,并且作为WAR文件部署到Amazon elastic beanstalk中时也运行得非常好。但它不会在AmazonEC2机器上运行。为什么会这样?以下是我尝试运行时得到的输出:

| Compiling 134 source files.
| Error Compilation error: startup failed:
Compile error during compilation with javac.
/home/ec2-user/FatcaOne_0/target/work/plugins/scaffolding-2.0.3/src/java/org/codehaus/groovy/grails/scaffolding/view/ScaffoldingViewResolver.java:42: error: no interface expected here
public class ScaffoldingViewResolver extends GrailsViewResolver {
                                             ^
/home/ec2-user/FatcaOne_0/target/work/plugins/cache-1.1.2/src/java/grails/plugin/cache/web/

PageInfo.java:37: error: package net.sf.cglib.proxy does not exist
import net.sf.cglib.proxy.Callback;
                         ^
/home/ec2-user/FatcaOne_0/target/work/plugins/scaffolding-2.0.3/src/java/org/codehaus/groovy/grails/scaffolding/view/ScaffoldedGroovyPageView.java:87: error: method createResponseWriter in class GroovyPageView cannot be applied to given types;
                        out = createResponseWriter(response);
                              ^
  required: GrailsWebRequest,HttpServletResponse
  found: HttpServletResponse
  reason: actual and formal argument lists differ in length
/home/ec2-user/FatcaOne_0/target/work/plugins/scaffolding-2.0.3/src/java/org/codehaus/groovy/grails/scaffolding/view/ScaffoldedGroovyPageView.java:75: error: method does not override or implement a method from a supertype
        @Override
        ^
/home/ec2-user/FatcaOne_0/target/work/plugins/scaffolding-2.0.3/src/java/org/codehaus/groovy/grails/scaffolding/view/ScaffoldingViewResolver.java:88: error: cannot find symbol
                return super.createFallbackView(viewName);
                       ^
  symbol:   variable super
  location: class ScaffoldingViewResolver
/home/ec2-user/FatcaOne_0/target/work/plugins/scaffolding-2.0.3/src/java/org/codehaus/groovy/grails/scaffolding/view/ScaffoldingViewResolver.java:58: error: method does not override or implement a method from a supertype
        @Override
        ^
/home/ec2-user/FatcaOne_0/target/work/plugins/scaffolding-2.0.3/src/java/org/codehaus/groovy/grails/scaffolding/view/ScaffoldingViewResolver.java:97: error: cannot find symbol
                view.setApplicationContext(getApplicationContext());
                                           ^
  symbol:   method getApplicationContext()
  location: class ScaffoldingViewResolver
/home/ec2-user/FatcaOne_0/target/work/plugins/scaffolding-2.0.3/src/java/org/codehaus/groovy/grails/scaffolding/view/ScaffoldingViewResolver.java:98: error: cannot find symbol
                view.setServletContext(getServletContext());
                                       ^
  symbol:   method getServletContext()
  location: class ScaffoldingViewResolver
/home/ec2-user/FatcaOne_0/target/work/plugins/scaffolding-2.0.3/src/java/org/codehaus/groovy/grails/scaffolding/view/ScaffoldingViewResolver.java:99: error: cannot find symbol
                view.setTemplateEngine(templateEngine);
                                       ^
  symbol:   variable templateEngine
  location: class ScaffoldingViewResolver
/home/ec2-user/FatcaOne_0/target/work/plugins/cache-1.1.2/src/java/grails/plugin/cache/web/PageInfo.java:418: error: cannot find symbol
                        if (value instanceof Callback || value instanceof Callback[]) {
                                             ^
  symbol:   class Callback
  location: class PageInfo
/home/ec2-user/FatcaOne_0/target/work/plugins/cache-1.1.2/src/java/grails/plugin/cache/web/PageInfo.java:418: error: cannot find symbol
                        if (value instanceof Callback || value instanceof Callback[]) {
                                                                          ^
  symbol:   class Callback
  location: class PageInfo
11 errors


1 error

您是否可能使用grails集版本更改grails版本?我发现这在Ec2上不起作用。您需要继续使用最初使用的grails版本。试试看。

您是否可能使用grails set version更改grails版本?我发现这在Ec2上不起作用。您需要继续使用最初使用的grails版本。试试看。

grails set版本对我来说似乎运行良好

我认为发生的事情是您没有按照升级说明进行操作:


您需要升级您的scaffolding版本(以及其他一些东西),当然,使用您创建的项目版本可以工作,但是如果您想升级到2.4,您需要遵循这些说明。

grails set版本对我来说似乎工作得很好

我认为发生的事情是您没有按照升级说明进行操作:


您需要升级您的scaffolding版本(以及其他一些东西),当然,使用您创建的项目版本可以工作,但是如果您想升级到2.4,则需要遵循这些说明。

当我将Grails应用程序从2.3.11移到Grails 2.5.6时,我遇到了以下错误:

Compilation error: startup failed:
Compile error during compilation with javac.
/Users/brippe/Projects/server/server/target/work/plugins/scaffolding-2.0.3/src/java/org/codehaus/groovy/grails/scaffolding/view/ScaffoldingViewResolver.java:42: error: no interface expected here
public class ScaffoldingViewResolver extends GrailsViewResolver {
                                             ^
/Users/brippe/Projects/server/server/target/work/plugins/scaffolding-2.0.3/src/java/org/codehaus/groovy/grails/scaffolding/view/ScaffoldedGroovyPageView.java:75: error: method does not override or implement a method from a supertype
    @Override
为了修复这些错误,我将scaffolding插件从2.0.3更改为2.1.2:

plugins {
        build: ..
        compile ":scaffolding:2.1.2" 
}

更改为2.1.2版后,错误消失了。

当我将Grails应用程序从2.3.11移动到Grails 2.5.6时,我遇到了以下错误:

Compilation error: startup failed:
Compile error during compilation with javac.
/Users/brippe/Projects/server/server/target/work/plugins/scaffolding-2.0.3/src/java/org/codehaus/groovy/grails/scaffolding/view/ScaffoldingViewResolver.java:42: error: no interface expected here
public class ScaffoldingViewResolver extends GrailsViewResolver {
                                             ^
/Users/brippe/Projects/server/server/target/work/plugins/scaffolding-2.0.3/src/java/org/codehaus/groovy/grails/scaffolding/view/ScaffoldedGroovyPageView.java:75: error: method does not override or implement a method from a supertype
    @Override
为了修复这些错误,我将scaffolding插件从2.0.3更改为2.1.2:

plugins {
        build: ..
        compile ":scaffolding:2.1.2" 
}

更改为2.1.2版后,错误消失。

您没有提供足够的信息来获得完整答案。看起来您正在EC2实例上编译,为什么要这样做?您可能没有在EC2上设置所有的库和环境变量,所以它正在爆炸。为什么不在本地编译并在EC2实例上部署WAR?您没有提供足够的信息来获得完整的答案。看起来您正在EC2实例上编译,为什么要这样做?您可能没有在EC2上设置所有的库和环境变量,所以它正在爆炸。为什么不在本地编译并在EC2实例上部署WAR呢?耶!在“Grails in Action 2nd ed.”的第一个演示中有这样的内容:“应用程序需要Grails版本[2.3.7],但Grails_HOME是版本[2.5.1]……请注意,最新的Grails 3是“Grails-3.0.5”,最新的Grails 2是“Grails-2.5.1”“.是时候降级了?因为这是一台AmazonEC2Linux机器,所以没问题:下载旧的Grails,设置路径和Grails\u主页。。。但是我真的需要。。。哦,好吧。然后降级到JDK7,我想,在我知道更多之前,这就行了。耶!在“Grails in Action 2nd ed.”的第一个演示中有这样的内容:“应用程序需要Grails版本[2.3.7],但Grails_HOME是版本[2.5.1]……请注意,最新的Grails 3是“Grails-3.0.5”,最新的Grails 2是“Grails-2.5.1”“.是时候降级了?因为这是一台AmazonEC2Linux机器,所以没问题:下载旧的Grails,设置路径和Grails\u主页。。。但是我真的需要。。。哦,好吧。然后降级到JDK7,我想在我了解更多之前,这就行了。