【问题标题】:Vaadin doesn't display correct favicon when packaging JAR/WAR打包 JAR/WAR 时 Vaadin 不显示正确的网站图标
【发布时间】:2020-07-07 19:55:56
【问题描述】:

我已将我的应用程序打包到一个 jar 中用于生产,但我注意到网站图标没有显示我放置的那个。它显示带有白色圆圈的默认蓝色图标。

我添加了一个自定义清单,并且在检查元素时它确实显示了所有正确的信息,我还在主类上添加了一个带有相同信息的 @PWA 注释以防万一,我还在 src/main/webapp/icons 上复制了我的徽标作为icon.png vaadin 调整它的大小,它确实调整了它的大小,但在标签栏上它仍然显示默认图标。

只有在将应用程序打包到 jar 时才会发生这种情况,如果我从 IDE 或带有 mvn spring-boot:run 的文件夹运行它,它会显示正确的图标。

编辑:

我发现 vaadin 没有将我的图标调整为 16x16 大小,所以我做了它并将其放在 src/main/resources/META-INF/resources/icons/ 现在它确实显示了我的自定义图标...在 Firefox 上,它仍然显示默认图标chrome,这不应该发生,因为当我手动转到 url /icons/icon-16x16.png 它显示我的自定义图标

编辑 2:

如果我注释 @PWA 注释并使用此代码设置网站图标:

    @Override
public void configurePage(InitialPageSettings settings) {
    settings.addInlineWithContents(
            "<link rel=\"shortcut icon\" href=\"favicon.ico\" type=\"image/x-icon\">",
            InitialPageSettings.WrapMode.NONE);
}

然后它就像它应该的那样工作,但是一旦我激活 @PWA 注释,我设置或不设置自定义图标无关紧要,它将恢复为默认图标

编辑 3:

我在https://vaadin.com/start/v14 上下载了spring boot starter 应用程序,然后将应用程序打包到一个jar 中并运行它,它不是图标而是这个默认的白色圆圈图标,所以我很确定这不是我的项目目前。

【问题讨论】:

    标签: vaadin progressive-web-apps favicon


    【解决方案1】:

    打包成JAR时,必须把图标放在src/main/resources/META-INF/resources/icons/中。我所做的也是使用像https://github.com/onderceylan/pwa-asset-generator 这样的工具来创建所有资产。您还可以使用PageConfigurator interface 自定义图标的名称和位置

    【讨论】:

    • 还是不行,我把icon.png放到src/main/resources/META-INF/resources/icons/中,使用PageConfigurator接口和这个方法:settings.addFavIcon("icon", “图标/logo-192.png”、“192x192”);它仍然显示默认图标
    • 所有这些问题只有在包装在罐子上时才会发生,你知道它可能是什么吗?
    • 我编辑了我的问题,确实在将图标放在 META-INF 上时会显示,但仅在 firefox 上,它仍会在 chrome 上显示默认图标
    • @ReneAlvarenga 请在 chrome 中打开您的开发工具,检查“清除缓存”标记并执行 ctrl-f5 重新加载;然后再次检查该图标。
    • 这样做了太多次@cfrick,它还在我手机上的 chrome 上显示了默认的 favicon,但是只要我不将应用程序打包到 jar 中并使用 spring-boot 运行它:run 它显示正确的图标
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-06-28
    • 1970-01-01
    • 2020-12-08
    • 1970-01-01
    • 2011-09-11
    • 2015-09-17
    • 1970-01-01
    相关资源
    最近更新 更多