繁体   English   中英

如何在开发人员模式下启动GWT调试

[英]How to launch GWT debug in dev mode

在迁移到Maven之前,我们使用过Ant,并且从IntelliJ IDEA下启动开发模式没有问题。 但是现在该项目在Maven之下。 因此,我认为所有必需的配置均已完成,并且在运行调试器时看到登录页面,但登录后收到以下错误:

[错误]找不到资源img / remove_filter_btn.png。 是否将名称指定为Class.getResource()?

这是我使用资源的方式:

public interface Resources extends ClientBundle {

    @Source("img/remove_filter_btn.png")
    ImageResource removeBtn();
}

项目结构如下:

Module
|--Submodule
|  |--src
|  | |--main
|  | | |--java
|  | |   |--package
|  | |     |--class
|  | |--webapp
|  |   |--img
|  |     |--remove_filter_btn.png
|  |--target
|    |--ROOT
|      |--img
|        |--remove_filter_btn.png
|--utils
   |--tomcat
      |--webapps
         |--ROOT
            |--img
               |--remove_filter_btn.png

War文件在utils文件夹中的tomcat中启动。

实际上,我不知道GWT在哪里寻找该资源。 也许有一种解决方法可以解决GWT开始寻找资源的问题?

目前这是唯一的问题,因为我认为这是调试开始工作之前唯一剩下的问题。

ClientBundle消耗到ImageResource的图像应该在源树中,而不是在外部Web资源中(即target /或webapp /中)。

当你写

package my.project.something.client
//...
public interface Resources extends ClientBundle {
    @Source("img/remove_filter_btn.png")
    ImageResource removeBtn();
}

您告诉ClientBundle,它可以在src / my / project / something / client / img / remove_filter_btn.png中找到图像。

请记住,ClientBundle的目的不仅仅是包装路径名字符串,以便它们可以轻松地在代码中使用,而且实际上是将图像编译到您的应用程序中。 对于小图像,它通常实际上会将整个图像放入应用程序中,因此根本不需要任何拼版。 即使不可能,它仍会重写图像,以便浏览器可以将其永久缓存,并尝试对其进行优化,以使其不使用超出实际需要的空间。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM