2017-09-02 122 views
0

我想部署一个Grails应用2.5.5到Tomcat 7(Ubuntu的服务器上运行)。我在Intellij 14中使用命令war -stacktrace -verbose来创建war文件。在我的target目录中,它成功创建了战争文件,我们称之为myapp-0.1.war。然后在终端(我使用Linux Mint的),我用下面的命令将其复制到我的服务器(我取代的我的个人资料在下面的例子中,像mypcusernamemyserverusername123.123.123.123部署Grails的2.5.5应用到Tomcat 7

rsync -rtvW --delete /home/mypcusername/NetbeansProjects/myapp/target/myapp-0.1.war/ [email protected]:/home/myserverusername/myapp-0.1.war/ 

不要担心上述命令的NetbeansProjects部分,它最初是一个Netbeans项目。然后我用sudo cp -a myapp-0.1.war/ /var/lib/tomcat7/webapps/,然后用sudo rm -R ROOT删除原来的ROOT目录。然后我跑sudo service tomcat7 restart,这是问题所在。日志给我的以下内容:

Sep 03, 2017 10:23:39 AM org.apache.coyote.AbstractProtocol pause 
INFO: Pausing ProtocolHandler ["http-bio-8080"] 
Sep 03, 2017 10:23:39 AM org.apache.catalina.core.StandardService stopInternal 
INFO: Stopping service Catalina 
Sep 03, 2017 10:23:39 AM org.apache.coyote.AbstractProtocol stop 
INFO: Stopping ProtocolHandler ["http-bio-8080"] 
Sep 03, 2017 10:23:39 AM org.apache.coyote.AbstractProtocol destroy 
INFO: Destroying ProtocolHandler ["http-bio-8080"] 
Sep 03, 2017 10:23:43 AM org.apache.coyote.AbstractProtocol init 
INFO: Initializing ProtocolHandler ["http-bio-8080"] 
Sep 03, 2017 10:23:43 AM org.apache.catalina.startup.Catalina load 
INFO: Initialization processed in 1734 ms 
Sep 03, 2017 10:23:43 AM org.apache.catalina.core.StandardService startInternal 
INFO: Starting service Catalina 
Sep 03, 2017 10:23:43 AM org.apache.catalina.core.StandardEngine startInternal 
INFO: Starting Servlet Engine: Apache Tomcat/7.0.52 (Ubuntu) 
Sep 03, 2017 10:23:43 AM org.apache.catalina.startup.HostConfig deployDirectory 
INFO: Deploying web application directory /var/lib/tomcat7/webapps/ROOT 
Sep 03, 2017 10:24:18 AM org.apache.catalina.startup.TaglibUriRule body 
INFO: TLD skipped. URI: http://www.springframework.org/tags is already defined 
Sep 03, 2017 10:24:18 AM org.apache.catalina.startup.TaglibUriRule body 
INFO: TLD skipped. URI: http://www.springframework.org/tags/form is already defined 
2017-09-03 10:24:26,325 [localhost-startStop-1] ERROR context.ContextLoader - Context initialization failed 
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'pluginManager' defined in ServletContext resource [/WEB-INF/applicationContext.xml]: Invocation of init method failed; nested exception is org.codehaus.groovy.grails.exceptions.NewInstanceCreationException: Could not create a new instance of class [CacheGrailsPlugin]! 
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:473) 
    at java.util.concurrent.FutureTask.run(FutureTask.java:262) 
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1152) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:622) 
    at java.lang.Thread.run(Thread.java:748) 
Caused by: org.codehaus.groovy.grails.exceptions.NewInstanceCreationException: Could not create a new instance of class [CacheGrailsPlugin]! 
    ... 5 more 
Caused by: java.lang.UnsupportedClassVersionError: grails/plugin/cache/CacheConfigArtefactHandler : Unsupported major.minor version 52.0 (unable to load class grails.plugin.cache.CacheConfigArtefactHandler) 
    at CacheGrailsPlugin.<init>(CacheGrailsPlugin.groovy:49) 
    ... 5 more 
2017-09-03 10:24:26,330 [localhost-startStop-1] ERROR context.GrailsContextLoaderListener - Error initializing the application: Error creating bean with name 'pluginManager' defined in ServletContext resource [/WEB-INF/applicationContext.xml]: Invocation of init method failed; nested exception is org.codehaus.groovy.grails.exceptions.NewInstanceCreationException: Could not create a new instance of class [CacheGrailsPlugin]! 
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'pluginManager' defined in ServletContext resource [/WEB-INF/applicationContext.xml]: Invocation of init method failed; nested exception is org.codehaus.groovy.grails.exceptions.NewInstanceCreationException: Could not create a new instance of class [CacheGrailsPlugin]! 
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:473) 
    at java.util.concurrent.FutureTask.run(FutureTask.java:262) 
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1152) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:622) 
    at java.lang.Thread.run(Thread.java:748) 
Caused by: org.codehaus.groovy.grails.exceptions.NewInstanceCreationException: Could not create a new instance of class [CacheGrailsPlugin]! 
    ... 5 more 
Caused by: java.lang.UnsupportedClassVersionError: grails/plugin/cache/CacheConfigArtefactHandler : Unsupported major.minor version 52.0 (unable to load class grails.plugin.cache.CacheConfigArtefactHandler) 
    at CacheGrailsPlugin.<init>(CacheGrailsPlugin.groovy:49) 
    ... 5 more 
2017-09-03 10:24:26,332 [localhost-startStop-1] ERROR context.GrailsContextLoaderListener - Error initializing Grails: Error creating bean with name 'pluginManager' defined in ServletContext resource [/WEB-INF/applicationContext.xml]: Invocation of init method failed; nested exception is org.codehaus.groovy.grails.exceptions.NewInstanceCreationException: Could not create a new instance of class [CacheGrailsPlugin]! 
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'pluginManager' defined in ServletContext resource [/WEB-INF/applicationContext.xml]: Invocation of init method failed; nested exception is org.codehaus.groovy.grails.exceptions.NewInstanceCreationException: Could not create a new instance of class [CacheGrailsPlugin]! 
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:473) 
    at java.util.concurrent.FutureTask.run(FutureTask.java:262) 
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1152) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:622) 
    at java.lang.Thread.run(Thread.java:748) 
Caused by: org.codehaus.groovy.grails.exceptions.NewInstanceCreationException: Could not create a new instance of class [CacheGrailsPlugin]! 
    ... 5 more 
Caused by: java.lang.UnsupportedClassVersionError: grails/plugin/cache/CacheConfigArtefactHandler : Unsupported major.minor version 52.0 (unable to load class grails.plugin.cache.CacheConfigArtefactHandler) 
    at CacheGrailsPlugin.<init>(CacheGrailsPlugin.groovy:49) 
    ... 5 more 
Sep 03, 2017 10:24:26 AM org.apache.catalina.core.StandardContext startInternal 
SEVERE: Error listenerStart 
Sep 03, 2017 10:24:26 AM org.apache.catalina.core.StandardContext startInternal 
SEVERE: Context [] startup failed due to previous errors 
Sep 03, 2017 10:24:26 AM org.apache.coyote.AbstractProtocol start 
INFO: Starting ProtocolHandler ["http-bio-8080"] 
Sep 03, 2017 10:24:26 AM org.apache.catalina.startup.Catalina start 
INFO: Server startup in 43228 ms 

编辑感谢suricatta,我通过创建和chowning所有这让所有那些警告消失目录跟着他的指示。我正在更新日志。

由于最初提出的问题,我意识到我从来没有真正将.war文件复制到我的服务器,因为当我试图提取文件时,它会告诉我像“你不能提取目录”,然后我注意到它每次使用rsync -rtvW --delete /home/mypcusername/NetbeansProjects/myapp/target/myapp-0.1.war/ [email protected]:/home/myserverusername/myapp-0.1.war/时创建一个名为myapp-0.1.war的空目录。

然后我用scp /home/mypcusername/NetBeansProjects/myapp/target/myapp-0.1.war [email protected]:/home/myserverusername实际上做了战争复制到我的服务器。在这次在/ var/lib/tomcat7/webapps/ROOT中解压实际文件后,我重新启动了Tomcat,然后给了我上面的日志。当我去123.123.123.123:8080我得到了一个空白页面,一个JavaScript错误说GET http://123.123.123.123:8080/ 404 (Not Found),我试图像<ip>:8080/myapp<ip>:8080/myapp/home都具有相同的结果不同的变化。

我签出了this答案,但似乎并不适用于我因为我的applicationContext.xml中没有相同的值,该问题的OP有。让我知道是否需要发布我的applicationContext.xml。

+0

我不知道如果这些_Problem与directory_警告负责_this页面无法found_,但我通过创建这些目录,如'的mkdir/USR /股/ tomcat7 /普通/ classes'等也解决了他们不要忘记授予权限'chown -R tomcat7:tomcat7/usr/share/tomcat7/common/classes'。 – suricatta

+0

我猜想webapp部署得很好,在目录“myapp-0.1”中。当你打开“123.123.123.123:8080/myapp-0.1”会发生什么? “有用!”是来自apache httpd的默认欢迎页面,而不是来自tomcat。 – andi

+0

看起来像你的项目和/或Grails的已经被编译为Java 8和你的Ubuntu服务器runns Java 7中 https://stackoverflow.com/questions/22489398/unsupported-major-minor-version-52-0 – andi

回答

0

我开始一个新项目,从项目我试图部署到新项目复制我所有的东西并部署它,这解决了我遇到的问题。

相关问题