Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/eclipse/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
我可以让EclipseGWTDevMode始终重新编译所有模块吗_Eclipse_Gwt_Iframe_Dev Mode - Fatal编程技术网

我可以让EclipseGWTDevMode始终重新编译所有模块吗

我可以让EclipseGWTDevMode始终重新编译所有模块吗,eclipse,gwt,iframe,dev-mode,Eclipse,Gwt,Iframe,Dev Mode,我有两个模块,主模块和包含模块 如果我启动主模块,它将显示一个带有iFrame的界面,iFrame包含包含的模块及其周围的一些附加控件。我也可以单独启动包含的模块。 我通过使用两个单独的.gwt.xml文件和两个单独的入口点解决了这个问题,然后将结果放在同一个war文件夹中 如果我在eclipse中使用GWT编译,我可以将我的两个入口点都添加到列表中,它将编译这两个模块,并且一切都将正常工作 但是,如果我在eclipse中单击“运行”按钮,让我的应用程序在devmode中运行,那么它只会重新编译

我有两个模块,主模块和包含模块

如果我启动主模块,它将显示一个带有iFrame的界面,iFrame包含包含的模块及其周围的一些附加控件。我也可以单独启动包含的模块。 我通过使用两个单独的.gwt.xml文件和两个单独的入口点解决了这个问题,然后将结果放在同一个war文件夹中

如果我在eclipse中使用GWT编译,我可以将我的两个入口点都添加到列表中,它将编译这两个模块,并且一切都将正常工作

但是,如果我在eclipse中单击“运行”按钮,让我的应用程序在devmode中运行,那么它只会重新编译我在浏览器中访问的入口点。如果我访问主入口点,那么我将得到一个弹出窗口,说“gwt模块可能需要重新编译”,devmode将不会自动重新编译我的Include入口点


是否有某种方法可以让eclipse中的devmode始终重新编译我的所有模块?

将您包含的模块添加到您的模块中。 您可以通过添加

<inherits name="fully qualified name of your module"/>


此代码保存在main.gwt.xml文件中。

将包含的模块添加到main模块中。 您可以通过添加

<inherits name="fully qualified name of your module"/>


这段代码位于main.gwt.xml文件中。

我认为这更像是一个“项目设置”问题,而不是“如何让Eclipse编译所有模块”问题。我这样说的原因是,我还没有看到一个GWT项目,其中有两个入口点是必要的/有意义的。有单独入口点的主要原因是为了重用()

我解决这个问题的方法是让您的模块,其中包括控件和iFrame(并让它继承您的包含的模块),与您现在一样。我的不同之处在于,我将包含的模块设置为没有入口点。相反,如果您有理由将其与Main模块分开运行,我将创建一个“drive”/“launcher”模块,该模块也将继承包含的模块。但是,与控件和iFrame(如模块)不同,此驱动程序模块将仅包含一个入口点和一个连接包含的模块的位置


您也可以查看这个问题,以便以同样的方式进行更多的讨论:。

我认为这更像是一个“项目设置”问题,而不是“如何让Eclipse编译所有模块”问题。我这样说的原因是,我还没有看到一个GWT项目,其中有两个入口点是必要的/有意义的。有单独入口点的主要原因是为了重用()

我解决这个问题的方法是让您的模块,其中包括控件和iFrame(并让它继承您的包含的模块),与您现在一样。我的不同之处在于,我将包含的模块设置为没有入口点。相反,如果您有理由将其与Main模块分开运行,我将创建一个“drive”/“launcher”模块,该模块也将继承包含的模块。但是,与控件和iFrame(如模块)不同,此驱动程序模块将仅包含一个入口点和一个连接包含的模块的位置


您还可以查看这个问题,以进行更多的讨论:。

据我所知,您使用的IFrame包含辅助GWT模块的主机页。还必须使用
gwt.codesvr=127.0.0.1:9997
参数加载此框架的内容,否则它将只加载最新编译版本的gwt javascript,而不使用devmode服务器

您还应该确保Eclipse中的调试配置包含这两个模块。您可以通过不直接单击按钮,而是使用菜单打开“调试配置”菜单来验证这一点。假设您以前单击过“Debug”按钮,您应该会在那里找到现有的GWT调试配置。确保“GWT”选项卡中列出了这两个模块


如果您的模块位于两个不同的项目中,则可能必须使用两个dev模式服务器实例。(请记住使用不同的端口)

据我所知,您使用的IFrame包含辅助GWT模块的主机页。还必须使用
gwt.codesvr=127.0.0.1:9997
参数加载此框架的内容,否则它将只加载最新编译版本的gwt javascript,而不使用devmode服务器

您还应该确保Eclipse中的调试配置包含这两个模块。您可以通过不直接单击按钮,而是使用菜单打开“调试配置”菜单来验证这一点。假设您以前单击过“Debug”按钮,您应该会在那里找到现有的GWT调试配置。确保“GWT”选项卡中列出了这两个模块


如果您的模块位于两个不同的项目中,则可能必须使用两个dev模式服务器实例。(请记住使用不同的端口)

虽然这似乎是在重新编译模块,但它也会触发所包含模块中的入口点,这会导致很多问题。很遗憾,这对我来说不是一个切实可行的解决方案/@wasatz到底有什么问题?因为两个入口点都触发了运行两个入口点的代码。由于他们都把东西放在了网页上,我突然同时得到了两个界面:)虽然这似乎是在重新编译模块,但它也触发了包含模块中的入口点,这造成了很多麻烦。很遗憾,这对我来说不是一个切实可行的解决方案/@wasatz到底有什么问题?因为两个入口点都触发了运行两个入口点的代码。既然