GWTP Carstore示例应用程序代码拆分

GWTP Carstore示例应用程序代码拆分,gwt,gwtp,code-splitting,Gwt,Gwtp,Code Splitting,我启动了GWTP Carstore应用程序 超级开发模式。例如,它有许多选项卡,每个选项卡对应一个用@ProxyCodeSplit注释的位置 @ProxyCodeSplit @NameToken(NameTokens.MANUFACTURER) interface MyProxy extends ProxyPlace<ManufacturerPresenter> { } @ProxyCodeSplit @NameToken(NameTokens.MANUFACTURER) 接口M

我启动了GWTP Carstore应用程序

超级开发模式。例如,它有许多选项卡,每个选项卡对应一个用
@ProxyCodeSplit
注释的位置

@ProxyCodeSplit
@NameToken(NameTokens.MANUFACTURER)
interface MyProxy extends ProxyPlace<ManufacturerPresenter> {
}
@ProxyCodeSplit
@NameToken(NameTokens.MANUFACTURER)
接口MyProxy扩展了ProxyPlace{
}
单击每个选项卡,我希望每次都会加载不同的javascript文件;然而事实并非如此,正如我附上的Fiddler截图所示

我们可以看到,所有Javascript都是在启动期间加载的(返回JSON的各种请求在我单击不同选项卡时被发送到服务器)


Carstore应用程序配置是否不完整,或者我在这里遗漏了什么?

好吧,如果有人来抓他的头:正如我所说,如果我使用Maven GWT插件以超级开发模式启动Carstore,
mvn clean GWT:run
,我发现没有发生代码拆分

在将Carstore部署到Tomcat之后,我尝试查看是否也没有发生代码拆分,我使用
mvn clean package
创建了Carstore WAR;但是它未能部署(对于Java8,堆栈跟踪

Caused by: java.lang.NullPointerException: No API environment is registered for this thread.
    at com.google.appengine.api.datastore.DatastoreApiHelper.getCurrentAppId(DatastoreApiHelper.java:179)
里面)


所以我在我的机器上试验了一个更简单的项目。类似地(至少在我的项目pom.xml中的Maven GWT插件配置中),我看到在超级开发模式下,所有Javascript都在启动时加载。然而,当我创建这个简单项目的WAR并将其(这次成功地)部署到Tomcat时,我确实看到在“位置”更改后加载了额外的Javascript文件。因此,在部署到Tomcat之后,代码拆分工作正如预期的那样。

好吧,如果有人来抓他的头:正如我所说,如果我使用Maven GWT插件以超级开发模式启动Carstore,
mvn clean GWT:run
,我发现没有发生代码拆分

在将Carstore部署到Tomcat之后,我尝试查看是否也没有发生代码拆分,我使用
mvn clean package
创建了Carstore WAR;但是它未能部署(对于Java8,堆栈跟踪

Caused by: java.lang.NullPointerException: No API environment is registered for this thread.
    at com.google.appengine.api.datastore.DatastoreApiHelper.getCurrentAppId(DatastoreApiHelper.java:179)
里面)

所以我在我的机器上试验了一个更简单的项目。类似地(至少在我的项目pom.xml中的Maven GWT插件配置中),我看到在超级开发模式下,所有Javascript都在启动时加载。然而,当我创建这个简单项目的WAR并将其(这次成功地)部署到Tomcat时,我确实看到在“位置”更改后加载了额外的Javascript文件。因此,在部署到Tomcat之后,代码拆分按预期工作