gpt4 book ai didi

java - Java EE 应用程序中的资源文件夹

转载 作者:行者123 更新时间:2023-12-02 05:48:24 29 4
gpt4 key购买 nike

我正在开发一个简单的邮件发送器作为 Java EE 应用程序。

项目结构如下所示:

Java EE app proj structure

为了正确设置电子邮件内容,我需要读取资源文件夹中放置的 *.vm 文件,我应该将其作为路径 classpath:/templates/mail/*。 vm (与Spring一样)...但是我的假设是错误的!

  1. 哪个是正确的使用路径?

  2. 我是否必须使用 META-INF 文件夹?这个解决方案是否更符合java-ee?在这种情况下,我应该将 META-INF 文件夹放在项目结构中的什么位置?

<小时/>

更新:

我将项目打包为.war,然后将文件放入:

/src/main/webapp/WEB-INF/classes/templates/mail/

然后:

org.apache.velocity.Template t = myVelocityEngine.getTemplate("classpath:/templates/mail/account_to_confirm.vm",
"UTF-8");

尽管如此,应用程序在运行时返回错误:

Unable to find resource 'classpath:/templates/mail/account_to_confirm.vm'

我做错了什么?

<小时/>

只是为了更好地理解:

假设我想将此应用程序部署为 jar (当然,删除 servlet 类):在这种情况下,我是否应该编辑文件夹布局才能仍然使用源代码的相同路径?

最佳答案

我认为问题是由于前缀classpath:造成的:你在哪里发现必须使用它?

阅读Loading velocity template inside a jar file,您可能会发现了解如何初始化VelocityEngine很有用。以及如何Configuring Resource Loaders in Velocity .

关于java - Java EE 应用程序中的资源文件夹,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23824633/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com