GWT 2.7 + GAE 应用程序在部署时查找代码服务器

2023-11-23

为什么 appengine 尝试使用超级开发模式?

每次我将 GWT 应用程序部署到 appengine 并尝试访问它时,我都会看到白色的加载屏幕,然后大约 20-30 秒后我会收到以下消息:

Couldn't load project from Super Dev Mode server at appspot.com:9876. Please make sure the server is ready. Do you want to try again?

我使用 Maven 与gwt-maven-插件 and appengine-maven-插件。使用部署maven-gae-插件给出相同的结果。

如果我切换回使用 2.6.1 版本的 gwt 和 gwt-maven-plugin,它部署正常,所以这似乎与自动开发模式启动器有关。

我的一些pom.xml

    <build>
        <outputDirectory>${webappDirectory}/WEB-INF/classes</outputDirectory>

        <resources>
            <resource>
                <directory>src/main/resources</directory>
            </resource>
            <resource>
                <directory>src/main/super</directory>
            </resource>
            <resource>
                <directory>${project.build.directory}/generated-sources/apt</directory>
            </resource>
            <resource>
                <directory>${project.build.directory}/generated-sources/gwt</directory>
            </resource>
        </resources>

        <plugins>

            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>${maven-compiler-plugin.version}</version>
                <configuration>
                    <source>${target.jdk}</source>
                    <target>${target.jdk}</target>
                    <encoding>${project.build.sourceEncoding}</encoding>
                    <proc>none</proc>
                </configuration>
            </plugin>

            <!-- JUnit Testing - skip *.GwtTest cases -->
            <!-- 'mvn test' - runs the Jukito tests -->
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-surefire-plugin</artifactId>
                <version>${maven-surefire-plugin.version}</version>
                <configuration>
                    <includes>
                        <include>**/*Test.java</include>
                    </includes>
                    <excludes>
                        <exclude>**/*GwtTest.java</exclude>
                        <exclude>**/*JUnitTest.java</exclude>
                    </excludes>
                </configuration>
            </plugin>

            <!-- GWT -->
            <plugin>
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>gwt-maven-plugin</artifactId>
                <version>${gwt-maven-plugin.version}</version>
                <configuration>
                    <strict>true</strict>
                    <testTimeOut>180</testTimeOut>
                    <!-- With multiple tests use GwtTestSuite.java for speed -->
                    <includes>**/*GwtTest.java</includes>
                    <mode>htmlunit</mode>

                    <extraJvmArgs>-Xss1024k -Xmx2048M -XX:MaxPermSize=512M</extraJvmArgs>
                    <logLevel>INFO</logLevel>
                    <style>PRETTY</style>

                    <copyWebapp>true</copyWebapp>
                    <hostedWebapp>${webappDirectory}</hostedWebapp>

                    <server>com.google.appengine.tools.development.gwt.AppEngineLauncher</server>
                    <appEngineVersion>${gae.version}</appEngineVersion>
                    <appEngineHome>${gae.home}</appEngineHome>
                    <extraJvmArgs>-Dappengine.sdk.root=${gae.home}</extraJvmArgs>
                    <extraJvmArgs>-Ddatastore.default_high_rep_job_policy_unapplied_job_pct=20</extraJvmArgs>
                    <port>8888</port>

                    <runTarget>Project.html</runTarget>
                    <modules>
                        <module>com.utilitiessavings.usavappv7.Project</module>
                    </modules>
                </configuration>
                <executions>
                    <execution>
                        <goals>
                            <goal>compile</goal>
                            <goal>test</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>

            <!-- Google App Engine Deployment -->
            <plugin>
                <groupId>com.google.appengine</groupId>
                <artifactId>appengine-maven-plugin</artifactId>
                <version>${gae.version}</version>
                <configuration>
                    <enableJarSplitting>true</enableJarSplitting>
                </configuration>
            </plugin>
        </plugins>
    </build>

    <dependencies>

        <!-- Google Web Toolkit dependencies -->
        <dependency>
            <groupId>com.google.gwt</groupId>
            <artifactId>gwt-user</artifactId>
            <version>${gwt.version}</version>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>com.google.gwt</groupId>
            <artifactId>gwt-servlet</artifactId>
            <version>${gwt.version}</version>
            <scope>runtime</scope>
        </dependency>

        <!-- Google App Engine dependencies -->
        <dependency>
            <groupId>com.google.appengine</groupId>
            <artifactId>appengine-api-1.0-sdk</artifactId>
            <version>${gae.version}</version>
        </dependency>
        <!-- Testing -->
        <dependency>
            <groupId>com.google.appengine</groupId>
            <artifactId>appengine-api-labs</artifactId>
            <version>${gae.version}</version>
        </dependency>
        <dependency>
            <groupId>com.google.appengine</groupId>
            <artifactId>appengine-api-stubs</artifactId>
            <version>${gae.version}</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>com.google.appengine</groupId>
            <artifactId>appengine-testing</artifactId>
            <version>${gae.version}</version>
            <scope>test</scope>
        </dependency>

        <!-- Persistence dependencies -->
        <dependency>
            <groupId>javax.persistence</groupId>
            <artifactId>persistence-api</artifactId>
            <version>${persistence-api.version}</version>
        </dependency>
        <dependency>
            <groupId>com.googlecode.objectify</groupId>
            <artifactId>objectify</artifactId>
            <version>${objectify.version}</version>
        </dependency>
        <dependency>
            <groupId>javax.validation</groupId>
            <artifactId>validation-api</artifactId>
            <version>${javax.validation.version}</version>
        </dependency>

        <!-- Other dependencies -->
        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>servlet-api</artifactId>
            <version>${servlet-api.version}</version>
            <scope>runtime</scope>
        </dependency>
        <dependency>
            <groupId>jstl</groupId>
            <artifactId>jstl</artifactId>
            <version>1.2</version>
        </dependency>

    </dependencies>

在我的 Project.gwt.xml 中

<add-linker name="xsiframe" />

(尝试删除这一行但仍然得到相同的结果)

环境

月食 (4.4.1)

Maven 3.2.3(3.2.1 嵌入式)

m2eclipse 1.5.0


gwt:compile尝试通过将 nocache.js 文件的时间戳与源文件的时间戳进行比较来“增量”工作,如果它认为输出是最新的,则跳过 GWT 编译。这是易碎的尽管。gwt:run(没有<superDevMode>false</superDevMode>; and gwt:run-codeserver with launcherDir)将使用 SuperDevMode 特定版本覆盖 nocache.js,这可能会导致gwt:compile跳过编译。

要点是:在部署或“发布”时,请确保首先运行mvn clean or force gwt:compile跑过去-Dgwt.compiler.force到马文。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

GWT 2.7 + GAE 应用程序在部署时查找代码服务器 的相关文章

随机推荐

  • std::shared_ptr::owner_before 和 std::owner_less:“基于所有者的顺序”到底是什么意思?

    我发现了一些关于此的讨论 但似乎没有任何内容具体说明 基于所有者的订单 实际上是什么 是否有效评估 lt 关于拥有的指针内存地址的值 它定义了一个任意严格的弱排序 其中两个指针当且仅当它们共享所有权或都为空时才等效 等价性以通常的方式定义
  • cakephp密码验证

    var validate array password gt array passwordlength gt array rule gt array between 8 50 message gt Enter 8 50 chars pass
  • 在 php 中使用过多的 include()

    我有在 php 脚本中大量使用 include 的习惯 我想知道这是一个好方法吗 我只是经常使用 include 因为它使代码看起来更适合面向未来的编程 您可能想查看而不是使用 include自动加载
  • 从“canonical_addresses”表中获取地址

    我正在开发一个 Android 应用程序 我从以下 uri 中获取了recipient id content mms sms conversations simple true 现在我想从 canonical addresses 中获取地址
  • 通过 API 调用设置表单的初始值

    在我的 React 游戏中 我使用名为 Formik 的 React 库作为表单 在其中 您可以像这样设置表单的初始值
  • 拒绝直接访问 S3 上的文件

    我正在构建一个具有以下行为的 django s3 应用程序 用户登录 用户上传文档 gt 文档转到 S3 最终在数据库中具有 UID 名称和别名 用户可以下载该文档 我正在寻找一种方法来拒绝其他用户 或者更糟糕的是 未登录 查询和访问文件
  • Bash - 如果 apt-get/dpkg 正在运行,如何检查软件包是否可以安装?

    在 bash 脚本中我想安装一个包 在明智地这样做之前 我需要检查是否没有其他实例apt get or dpkg已经在工作了 如果是这样的话 那么apt get会失败 因为它已经锁定了 检查是否足够 var lib dpkg lock an
  • Gradle processResources - 文件包含 $ 字符

    你怎样才能执行gradle processResources在包含的文件上 字符而不转义 在文件中 我有一些静态 html 文件位于 resources static文件夹建议Spring Boot 参考文档 但是 当我尝试执行时gradl
  • 如何在log4net中为多行日志条目添加缩进?

    我知道这个问题我同意这个答案 但是我可以使用 log4net 执行以下操作吗 而不是 2013 04 09 12 54 47 093 INFO Main Line 1 Line 1 Line 1 Line 2 Line 2 Line 2 L
  • 缩放后的 QPixmap 看起来很糟糕

    我有以下小部件 pixmap QtGui QPixmap r pics cdaudio png scaled 100 100 图像从 256x256 缩小 它看起来相当不稳定 如何在 Qt 内平滑地扩展它 Use the transform
  • 当 mysql_query 返回 false 时

    除了编写错误的查询并且没有访问表的权限之外 当mysql query返回假 还有其他案例吗 请参阅参考指南 对于 SELECT SHOW DESCRIBE EXPLAIN 等返回的语句 结果集 mysql query 成功时返回资源 否则返
  • 我的 App Engine 应用程序不会自动创建默认存储桶

    我的应用程序引擎应用程序不会自动创建默认存储桶我不明白这是为什么 我的其他应用程序工作正常 但是当我在新应用程序中运行相同的代码时 我正在处理它 但它不会创建 Google 云存储桶 有人有主意吗 已弃用的方法 转到您的 App Engin
  • 将整数列表传递给存储过程

    这是我的存储过程 ALTER PROCEDURE dbo Dan numbers varchar 10 AS BEGIN SET NOCOUNT ON select numbers numbers END 在SSMS中 我可以像这样成功执行
  • 单击浏览器后退按钮时如何调用事件

    单击浏览器后退按钮时如何调用 jquery 事件 我在 asp net mvc 中使用单页应用程序 我想在用户按下浏览器的后退按钮时显示一个确认框以离开屏幕 我如何在浏览器后退按钮上调用 jquery 函数 请帮忙 我已经搜索并找到了推送状
  • “ProductList”对象没有属性“object_list”

    In my ProductList类 当我尝试打电话时get context data在另一种方法中 我收到错误 ProductList object has no attribute object list def get context
  • Google Analytics 有没有办法像 Mixpanel 一样跟踪多个事件参数?

    Given trackEvent category action opt label opt value opt noninteraction 我尝试使用 opt label 但它似乎只是一个字符串 并且不接受像 Mixpanel 那样的不
  • Python:排序函数在存在 nan 时中断

    sorted 2 float nan 1 回报 2 nan 1 至少在 Activestate Python 3 1 实现上是这样 我明白nan是一个奇怪的对象 所以如果它出现在排序结果中的随机位置我不会感到惊讶 但它也搞乱了容器中非 na
  • 转义大括号位于车把中的表达式旁边

    无法理解如何转义位于表达式旁边的 或 符号Handbars Java 模板引擎 我正在使用车把模板生成纯文本 因此我无法按照建议使用大括号的 HTML ASCII 代码there 我需要这样的表达 variable name 待解决 var
  • 使用 ACTION_IMAGE_CAPTURE 以较低分辨率打开 Android 相机

    我正在使用这样的意图打开 Android 相机 Intent cameraIntent new Intent android provider MediaStore ACTION IMAGE CAPTURE cameraIntent put
  • GWT 2.7 + GAE 应用程序在部署时查找代码服务器

    为什么 appengine 尝试使用超级开发模式 每次我将 GWT 应用程序部署到 appengine 并尝试访问它时 我都会看到白色的加载屏幕 然后大约 20 30 秒后我会收到以下消息 我使用 Maven 与gwt maven 插件 a