1

我正在尝试使用 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 曾经存在过,所以要么这是一些新要求,要么 shared 过去从未提交过。

我在网上找到的唯一“解决方案”声称他们通过删除 appengine-utils-client-1.0.jar 和 appengine-utils-server-1.0.jar 来修复它。但是,这些似乎都不在我的项目中,所以我认为这个解决方案对我没有帮助。

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

4

3 回答 3

2

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

于 2013-05-08T22:12:24.177 回答
0

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

于 2013-03-22T14:23:14.183 回答
0

我在使用 GWTUpload 时遇到了同样的错误。之前的帖子帮助我走上了正轨,尽管我的 web-inf/lib 中没有提到的 jar。最后通过为 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>
于 2013-09-01T13:23:00.337 回答