GWT - 无法找到/ path / to / war / WEB-INF / lib / shared?

时间:2013-03-21 22:22:22

标签: google-app-engine gwt eclipse-plugin

我正在尝试使用Google Plugin for eclipse将GWT / GAE项目作为Web应用程序运行,但我一直遇到错误:

Unable to find path/to/war/WEB-INF/lib/shared

更具体地说,我得到:

Exception in thread "main" java.lang.ExceptionInInitializerError
    at com.google.appengine.tools.util.Logging.initializeLogging(Logging.java:35)
    at com.google.appengine.tools.development.gwt.AppEngineLauncher.start(AppEngineLauncher.java:77)
    at com.google.gwt.dev.DevMode.doStartUpServer(DevMode.java:509)
    at com.google.gwt.dev.DevModeBase.startUp(DevModeBase.java:1093)
    at com.google.gwt.dev.DevModeBase.run(DevModeBase.java:836)
    at com.google.gwt.dev.DevMode.main(DevMode.java:311)
Caused by: java.lang.IllegalArgumentException: Unable to find path/to/war/WEB-INF/lib/shared
    at com.google.appengine.tools.info.SdkInfo._getLibs(SdkInfo.java:76)
    at com.google.appengine.tools.info.SdkInfo.getLibsRecursive(SdkInfo.java:69)
    at com.google.appengine.tools.info.SdkInfo.determineSharedLibFiles(SdkInfo.java:302)
    at com.google.appengine.tools.info.SdkInfo.init(SdkInfo.java:237)
    at com.google.appengine.tools.info.SdkInfo.getSdkRoot(SdkInfo.java:190)
    at com.google.appengine.tools.info.SdkImplInfo.<clinit>(SdkImplInfo.java:19)

我之前运行的这个应用程序运行正常,但是我已经用了一段时间了。 GWT代码编译得很好。只有在尝试在开发服务器中运行此错误时才会出现此错误。通过我以前的提交,我似乎没有看到WEB-INF / lib / shared曾经存在的时间,所以要么这是一些新的要求,要么共享在过去从未提交过。

The only "solution"我发现他们通过删除appengine-utils-client-1.0.jar和appengine-utils-server-1.0.jar来解决这个问题。但是,这些似乎都不在我的项目中,所以我认为这个解决方案不会对我有帮助。

有什么建议吗?非常感谢。

3 个答案:

答案 0 :(得分:2)

升级到GAE 1.8.0后,我也遇到了这个问题。从WEB-INF / lib目录中删除appengine-tools-api.jar解决了这个问题。

答案 1 :(得分:0)

对于任何遇到同样问题的人,我最终创建了一个新的GWT设置并复制了我的src文件,以及我专门创建/修改的WEB-INF文件。

答案 2 :(得分:0)

使用GWTUpload时出现同样的错误。之前的帖子帮助我走上了正确的轨道,虽然我没有在我的web-inf / lib中提到的罐子。最后通过为appengine-tools-sdk添加Maven排除来解决它。所以我的最终GWTUpload pom.xml Maven代码是:

    <!-- GWTUpload  -->
    <dependency>
        <groupId>com.googlecode.gwtupload</groupId>
        <artifactId>gwtupload</artifactId>
        <version>0.6.6</version>
    </dependency>
    <dependency>
        <groupId>com.googlecode.gwtupload</groupId>
        <artifactId>gwtupload-gae</artifactId>
        <version>0.6.6</version>
        <exclusions>
            <!-- This exclusion got rid of the super hard to track down IllegalArgumentException on startup related to SdkInfo  -->
            <exclusion>
                <artifactId>appengine-tools-sdk</artifactId>
                <groupId>com.google.appengine</groupId>
            </exclusion>
        </exclusions>
    </dependency>
    <dependency>
        <groupId>commons-fileupload</groupId>
        <artifactId>commons-fileupload</artifactId>
        <version>1.2.1</version>
    </dependency>
    <dependency>
        <groupId>commons-io</groupId>
        <artifactId>commons-io</artifactId>
        <version>2.3</version>
    </dependency>
</dependencies>