当前位置: 首页 > 知识库问答 >
问题:

Vaadin 10和springboot-如何包装罐子?

柯乐池
2023-03-14

这个问题很简单,但是我花了两天时间尝试部署我的应用程序。到目前为止还没有。

我的样式只有一个css文件,当我执行jar时,找不到css(404)或者jar不会打包。

如这里所述:Spring Boot可执行jar结构“如果您的应用程序将被打包为jar,请不要使用src/main/webapp文件夹”和“您应该将静态资源放在src/main/resources中”

所以把css放在这里:src/main/Resources/styles.css

在Vaadin文档中(它非常注重如何打包…),我导入css,如下所示:

@StyleSheet("styles.css")

来源:https://vaa din . com/docs/v11/flow/importing-dependencies/tutorial-include-CSS . html

然后我打包我的项目:

 mvn clean package -Pproduction

我收到这个错误:

[ERROR] Failed to execute goal com.vaadin:vaadin-maven-plugin:11.0.0:package-for-production (default) on project importparcoursup: Execution default of goal com.vaadin:vaadin-maven-plugin:11.0.0:package-for-production failed: An import that ends with 'styles.css' cannot be resolved: the corresponding file 'C:\Workspace\lasteclipeandjava10\parcoursup\target\frontend\styles.css' was not found.
[ERROR] Double check the corresponding import and verify the following:
[ERROR] * the import string is correct
[ERROR] * the file imported is either present in 'frontend://' directory of the project or in one of the project WebJar dependencies or in one of the regular jar dependencies
[ERROR] * if the file is present in one of the regular jar dependencies, it should be located in `META-INF/resources/frontend` directory in the jar

有人能提供一个简单的例子,把一个“springboot Vaadin10”应用打包成一个jar,里面有静态资源吗?

我尝试了很多配置(将css放在META-INF中,在maven构建过程中包含webapp资源…),但两天后,我仍然无法在服务器上部署我的应用!

共有2个答案

张永嘉
2023-03-14

尽管我仍然错过了一个例子,但这也会有帮助:

Vaadin 10 对加载静态资源的方式进行了一些更改,例如应用程序模板、自定义样式和任何其他 JavaScript 文件。它的要点是,在构建.war文件时,这些文件应该放在src/主/网络应用/前端/中,在构建.jar文件时,应该放在src/主/资源/资源/前端/中。

链接到Vaadin Dokumation:Vaadin 10和静态资源

东门奕
2023-03-14

css必须在这里:

src/main/resources/META-INF/resources/frontend/styles.css

然后声明为:

@StyleSheet("frontend://styles.css")
 类似资料:
  • 任何建议都会有帮助的!谢了!

  • 问题内容: 我正在尝试创建包装另一个jar的OSGi服务。我将jar添加到项目,类路径和二进制构建中。我在Activator中注册了该服务,但是当消费包调用该服务时,我在包装jar上得到了java.lang.NoClassDefFoundError。有人知道我在做什么错吗? 提前致谢。 问题答案: 您是否正在导出使用者所需的软件包以及实施所需的所有软件包。消费者将需要导入将被引用的所有内容。 附带

  • 在过去的6个月里,我一直在从repl运行我的Clojure应用程序。 也就是说,每当我想运行应用程序时,我都会加载一个clojure repl,然后输入:(加载文件“src/run.clj”)。。。它运行我的应用程序。 然后,clojure加载了我所有的*。clj文件,编译并运行。 我最近换了莱恩。我想“提前编译/打包”我的代码,这样我就可以得到一个带有Main方法的jar,并通过“java…”直

  • 问题内容: 我们有一个与已删除的某些需求相关的软件包,但我们不想删除该代码,因为将来可能会再次需要它。因此,在我们现有的ant构建中,我们只是将该包排除在了jar中之外。这些类由于我们还删除了它们的依赖关系而无法编译,因此它们不能包含在构建中。 我正在尝试模仿Gradle中的功能,如下所示: 即使使用上面的exclude调用(并且我也尝试过不带方括号的尝试),gradle仍在尝试编译类,这会导致编

  • 我刚刚完成了我的第一个适当的java程序与图形用户界面,并设置了所有的选项,以使项目创建一个. jar文件,目前显示我的框架和连接到数据库。我遇到的问题是,当我运行程序(我必须从终端运行它,因为单击. jar可能是问题的一部分?),没有我的图像加载。我尝试了以下方法; 进入项目库首选项,并添加驻留在my P3Game文件夹(项目的根目录)中的/img文件夹,但没有效果 尝试直接将图像复制到生成的/

  • mvn清理包-dskiptests=true&unzip target/demo-0.0.1-snapshot.jar-d已爆炸 Lombok是打包的,如果我将作用域设置为或仅具有则无关紧要。 如何防止龙目岛被包括到Spring靴罐? 重新打包失败:必须提供源文件