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

放置freemarker模板文件的最佳实践是什么

林鹏鹍
2023-03-14

请参考这篇关于我目前实践的帖子。它在一段时间内运行良好,我认为所有问题都已解决。但是,当我在不同的文件夹中构建jar时,抛出了“Template index.ftl not found”。我使用jarxf-xxx。jar提取目标jar并找到*。模板文件夹下的ftl已压缩到该jar中。

我尝试在这里将以下配置添加到pom。xml,但它不起作用。

<plugin>
  <!-- Build an executable JAR -->
  <groupId>org.apache.maven.plugins</groupId>
  <artifactId>maven-jar-plugin</artifactId>
  <version>3.1.0</version>
  <configuration>
    <archive>
      <manifest>
        <addClasspath>true</addClasspath>
        <classpathPrefix>libs/</classpathPrefix>
        <mainClass>com.gearon.app.App</mainClass>
      </manifest>
    </archive>
    <includes>
        <include>**/*.class</include>
        <include>**/*.jdo</include>
        <include>**/*.properties</include>
        <include>**/*.xml</include>
        <include>**/*.ftl</include>
    </includes>
  </configuration>
</plugin>

OP还说:

更好的是,我完全删除了配置标签,它仍然在工作。我想这是在我发现这件事之前留下的。类路径上需要的属性文件和其他东西需要在src/main/resources中,而不是在src/main/java中

我想尝试一下将模板/xxx放入其中。ftl到src/main/resources,但不是src/main/java/com/gearon/app/templates/*。ftl。

但是加载模板的方式应该改变,对吗?目前是cfg。setClassForTemplateLoading(Config.class,“/templates”)

那么问题来了,怎么改呢?或者如果我上面的理解是完全错误的,那么将模板放入一个jar并确保该jar中的类能够找到那些模板的最佳实践是什么?


共有1个答案

薛枫
2023-03-14

Maven提交人在这里。。。

你所做的是完全错误的,你违背了惯例。它说运行时类路径中必须可用的所有资源必须驻留在src/main/resouces中。没有必要进行进一步的配置。我强烈建议这样做。在您的情况下:src/main/Resources/tem板,您就完成了。没有<代码>

 类似资料:
  • 问题内容: 我刚开始学习Go,并通读现有代码以学习“其他人的做法”。在这种情况下,遍历使用go“工作区”,尤其是与项目依赖关系有关的地方。 在处理各种Go项目时,使用一个或多个Go工作区(即$ GOPATH的定义)的常见(或存在)最佳实践是什么?我应该期望有一个类似于我所有项目的中央代码存储库的Go工作区,还是在我处理这些项目时都明确将其分解并设置$ GOPATH(有点像python) virtu

  • 那么使用clientResponse()的最佳实践是什么?如果唯一的问题是应用程序不知道何时应该关闭连接,.exchange().block()会自动关闭连接吗?如果我应该使用.close()-我应该如何获得这个方法?也许我应该使用另一个版本的spring-webflux?或者也许还有另一种在Spring中检索响应主体和状态的最佳方法--WebFlux?

  • 本文档旨在汇总和强调用户指南、快速开始文档和示例中的最佳实践。该文档会很活跃并持续更新中。如果你觉得很有用的最佳实践但是本文档中没有包含,欢迎给我们提Pull Request。 通用配置建议 定义配置文件的时候,指定最新的稳定API版本(目前是V1)。 在配置文件push到集群之前应该保存在版本控制系统中。这样当需要的时候能够快速回滚,必要的时候也可以快速的创建集群。 使用YAML格式而不是JSO

  • 问题内容: 我正在构建一个基于expressjs的应用程序,我想在其中记录所有事件。我可以找到温斯顿,这似乎很酷。无论如何,我正在寻找一种方法将其连接到我的expressjs应用程序。 我还想要在应用程序内部登录。我的要求不是那么简单,所以我想将所有内容记录在我的应用程序中(不仅是请求)。 我目前的情况: server.js (我想在此级别记录http请求) 路线/something.js con

  • 这里有些给使用和编写 Ansible playbook 的贴士. 你能在我们的 ansible-example repository.找到展示这些最佳实践的 playbook 样例.(注意: 这些示例用的也许不是最新版的中所有特性,但它们仍旧是极佳的参考.) Topics 最佳实践 接下来的章节将向你展示一种组织 playbook 内容方式. 你对 Ansible 的使用应该符合你的需求而不是我们

  • 处理后台任务与常规调用方法有很大的不同。本指南旨在帮助让您的后台任务平稳有效地运行。本文基于 这篇博客文章。 使任务参数小而简单 方法(任务)在调用之前会被序列化。使用 TypeConverter 类将参数转换为 JSON 字符串。如果您有复杂的实体和 / 或大对象; 包括数组,最好将它们放入数据库,然后只将其标识 (id) 传递给后台任务。 错误例子: public void Method(En