我创建了一个显示UI对话框的SmartGWT应用程序(在对话框上显示一些控件)。
此对话框应用程序经过测试并运行良好,但现在我必须将其作为jar文件分发,以便其他SmartGWT项目可以将其用作窗口小部件。
我正在寻找一种方法,如何将此组件“RemoteFileDialog”作为jar文件发布,以便任何其他SmartGWT Web应用程序都可以使用它来显示文件浏览器。有没有详细的文件/参考资料我可以完全理解?
我使用jar cvf ...命令为此对话框应用程序创建了jar文件。
当我在目标smartGwt示例项目中使用此.jar时,它无法找到.jar中包含的类
可以肯定的是,我在日食中做了以下步骤。
通过“添加外部罐子”
模块继承: 更改为gwt.xml文件
3 gwtc是否测试模块是否正确继承。 GWT编译没有警告或错误。
但是,当我尝试在下面给出的测试代码中创建一个对话框类的实例(jar文件的一部分)时,eclipse无法识别或提示我添加所需的导入,就像它对所有人一样其他jar文件。 代码:
即使我自己手动添加了import语句,它仍会在这些行中产生编译错误。
我想以正确的方式从SmartGWT项目创建.jar文件,以便它可以在另一个smartGWT项目中用作.jar文件。
非常感谢任何帮助和线索..
这是我的环境,如果有意义的话!:
SmartGWT 3.0 GWT 2.4 浏览器:Firefox 7.0.1 开发环境:Ubuntu11.10上的Eclipse Indigo
的问候, RV
添加.gwt.xml文件的内容......
<?xml version="1.0" encoding="UTF-8"?>
<module rename-to='remotefilebrowser'>
<!-- Inherit the core Web Toolkit stuff. -->
<inherits name='com.google.gwt.user.User'/>
<!-- Inherit the default GWT style sheet. You can change -->
<!-- the theme of your GWT application by uncommenting -->
<!-- any one of the following lines. -->
<inherits name='com.google.gwt.user.theme.clean.Clean'/>
<!-- <inherits name='com.google.gwt.user.theme.standard.Standard'/> -->
<!-- <inherits name='com.google.gwt.user.theme.chrome.Chrome'/> -->
<!-- <inherits name='com.google.gwt.user.theme.dark.Dark'/> -->
<!-- Other module inherits -->
<inherits name='com.smartgwt.SmartGwt'></inherits>
<inherits name="com.smartgwt.tools.SmartGwtTools"></inherits>
<!-- Specify the app entry point class. -->
<entry-point class='com.comviva.remotefilebrowser.client.RemoteFileBrowser'/>
<!-- Specify the paths for translatable code -->
<source path='client'/>
<source path='shared'/>
</module>
<?xml version="1.0" encoding="UTF-8"?>
<module rename-to='gwtsample'>
<!-- Inherit the core Web Toolkit stuff. -->
<inherits name='com.google.gwt.user.User' />
<!-- Inherit the default GWT style sheet. You can change -->
<!-- the theme of your GWT application by uncommenting -->
<!-- any one of the following lines. -->
<inherits name='com.google.gwt.user.theme.clean.Clean' />
<!-- <inherits name='com.google.gwt.user.theme.standard.Standard'/> -->
<!-- <inherits name='com.google.gwt.user.theme.chrome.Chrome'/> -->
<!-- <inherits name='com.google.gwt.user.theme.dark.Dark'/> -->
<inherits name="com.smartgwt.SmartGwt" />
<!-- <inherits name="com.comviva.scheduler.SchedulerWidget"></inherits> -->
<inherits name="com.comviva.remotefilebrowser.RemoteFileBrowser"></inherits>
<inherits name="com.smartgwt.tools.SmartGwtTools"></inherits>
<!-- Other module inherits -->
<!-- Specify the app entry point class. -->
<entry-point class='com.rv.gwtsample.client.GWTSample' />
<!-- Specify the paths for translatable code -->
<source path='client' />
<source path='shared' />
</module>
答案 0 :(得分:0)
在RemoteFileBrowser.gwt.xml
中,您可以使用以下命令将模块重命名为更简单的名称:
<module rename-to='com.foo.MyModule'>
然后,当在另一个项目中包含这个“小部件”时,你会这样做:
<inherits name="com.foo.MyModule" />
点击此链接了解详情:https://developers.google.com/web-toolkit/doc/latest/DevGuideOrganizingProjects
请注意,模块名称区分大小写
答案 1 :(得分:0)
经过一番努力,我可以找到解决方案,在下面发帖,因为这可能对像我这样的其他新手有用:)
我现在使用eclipse导出选项创建.jar并选择要包含的文件/资源列表。