【发布时间】:2014-05-29 12:47:33
【问题描述】:
我有一个 grails 应用程序,它可以在 Windows 中完美运行,并且在作为 WAR 文件部署到 Amazon 弹性 beanstalk 中时也可以正常运行。但它不会在亚马逊 EC2 机器上运行。为什么会这样?这是我尝试运行它时得到的输出:
| 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
【问题讨论】:
-
您没有提供足够的信息来获得完整的答案。看起来您正在您的 EC2 实例上进行编译,您为什么要这样做?您可能没有在 EC2 上设置所有库和环境变量,所以它被炸毁了。为什么不在本地编译并在 EC2 实例上部署 WAR?
标签: grails amazon-web-services amazon-ec2