Google-Eclipse插件:向项目添加入口点

2 java eclipse gwt web-applications google-eclipse-plugin

使用Google-Eclipse插件,我已成功创建,构建和部署(本地)一个非常基本的GWT Web应用程序.

问题是:我不是默认设置的项目结构GWT(或Google-Eclipse插件)的忠实粉丝.因此,我试图以对我来说具有逻辑意义的方式进行设置,但仍然可以在DevMode本地运行和部署.

所以我创建了第二个项目,但没有将其设置为Web应用程序; 相反,我使用了普通的Java应用程序.我创建了我的源目录,我的EntryPointimplementation(TestModule implements EntryPoint),my TestModule.gwt.xml,我的主页HTML等.我在第一个(成功的)项目中做过的所有工件.

但现在我正在Run Configurations尝试手动设置一个运行配置,类似于Web应用程序向导如何使用我构建的第一个应用程序为我创建一个.

Run Configurations >> GWT选项卡中,它为我提供了一个窗口,我可以在其中添加可用模块.当我单击"添加"按钮时,无论我键入什么,它都不会为我提供可供选择的可用选项列表.

所以我退出了Run Configurations对话框,假设我需要以不同的方式设置我的项目属性.所以我右键单击了我的项目,转到了Properties >> Goodle >> Web Toolkit,果然,看到一个允许我添加可用模块的类似面板.我相信如果我正确配置此部分,那么在Run Configurations对话框内部可以使用可用模块列表,我应该能够继续.

这就是我所看到的:

在此输入图像描述

有关如何正确配置项目的任何想法,以便此Available Modules对话框实际上向我提供选项?提前致谢!

请注意:我预计很多答案都是" 只使用Web应用程序向导,它更容易 ",等等.我理解这一点并且(暂时)接受尝试配置我自己的GWT应用程序的警告,而不是插件的Web应用程序向导的帮助.如果我发现它真的很难在这里"滚动我自己",那么我会陷入困境并回到向导.但在此之前,我想尽我最大的努力!

Col*_*rth 5

随意不使用谷歌插件Eclipse(以下简称GPE)!没有必要 - 就像Eclipse所说的那样,它是所有Java,或者至少是自包含的,就像Java一样.如果您不想要向导,JSNI自动完成,UiBinder自动完成,您甚至可以将插件保留下来.

要以开发模式运行GWT项目,您只需要SDK的基本移动部分:*gwt-dev.jar- 开发模式(代码服务器和简单的HTTP服务器),编译器和各种其他工具*gwt-user.jar- GWT语言运行时(JavaScriptObject,GWT,等)和标准事件,小部件和其他位*可选:gwt-servlet.jar- 在一个基本GWT servlet的servlet容器中运行的类*可选:requestfactory-*.jar- 如果你不使用RequestFactory,不要担心它

您可能还需要a json.jarvaldation-api.jar它的来源.

这足以让您在普通Java中编译任何项目.在gwt-user.jargwt-dev.jar不在您的服务器类路径属于-不要把它们放在一个WEB-INF/lib/目录,只是让他们手头上编译代码为JavaScript.

Dev Mode和编译器本身都只是带有main方法的类,因此标准的Eclipse Run/Debug Configuration也可以启动.每个人都有自己的选择,例如"我在哪里找到你的资源","你在哪个模块开始",在开发模式的情况下,' war/我在哪里服务'.

完全避免GPE:

DevMode的:

创建一个新的Java Run Configuration,并验证上面的类是否在类路径以及源目录中.设置主类com.google.gwt.dev.DevMode,添加几个参数:

-war path/to/war/dir/ my.package.to.ModuleToRun
Run Code Online (Sandbox Code Playgroud)

其他所有东西都只是额外的标志,可以改变它的工作原理,并提示从哪里开始.请查看https://developers.google.com/web-toolkit/doc/latest/DevGuideCompilingAndDebugging#What_options_can_be_passed_to_development_mode,了解您可以使用的其他选项

要调试它,将其作为调试配置运行 - Eclipse会抱怨它不能热交换类,但忽略这些并点击继续.当您在.java文件中进行更改,保存并刷新浏览器时 - GWT的专用Dev Mode类加载器将获取更改.

编译:

如上所述,使用类路径上的重要类和jar进行运行配置.这次,使用com.google.gwt.dev.Compiler主类,并指定要在程序参数下构建的模块.同样,您可以使用许多选项来更改其编译方式以及它提供的其他输出,有关更多选项,请参阅https://developers.google.com/web-toolkit/doc/latest/DevGuideCompilingAndDebugging#DevGuideCompilerOptions

在没有向导的情况下使用GPE:

这里需要记住的重要一点是,GPE只是在介绍一些细节 - 你不需要使用向导,但在某种程度上,它是所有向导,直到你只使用原始Java.类路径,导入等 - 这些都是或多或少适用于GWT开发的Java概念,尽管它添加了模块以帮助设置延迟绑定规则等.

模块选择对话框不是必需的,但另外两个部分是.首先,正如您所做的那样,在Google> Web Toolkit下打开"使用Google Web Toolkit",并确保选择了有效的SDK.这样做有两件事 - 它将必要的jar添加到类路径(在'GWT SDK'下),并在整个项目中启用一些其他选项 - JSNI自动完成,开发模式,各种向导(我们将忽略).另一件必要的是去Google> Web Application,指出"这个项目有一个WAR目录",并给它指向该目录的路径,以便Dev Mode知道从哪里开始Jetty.

完成此操作后,插件应该能够让您从指向带有入口点的模块的html文件开始.我要掩饰这些细节,因为这是基本的项目设置 - 向导擅长的东西,例子很丰富,你可能已经阅读了这些指示(否则你不会跳过向导......) .在之前选择的WAR文件夹中,选择这样的html文件,右键单击它并选择Run As ...> Web Application.GPE可能会再次询问WAR文件夹 - 帮助它,你就可以了.开发模式将向Eclipse添加View而不是独立窗口,您将能够从那里监视进度.

然后编译就是转到工具栏中的G图标并选择"GWT Compile Project ...".将出现一个对话框,询问要使用的项目,以及要开始的入口点,以及其他一些选项.请注意,如果您编译到war文件夹然后启动开发模式,您可能会发现开发模式会覆盖已编译输出的一部分,以便更轻松地进行Java调试,因此需要额外的编译.