java - 在 Eclipse 中找不到文件

标签 java eclipse tomcat

我有一个 Eclipse JSF 示例,其中 ExampleController 类找不到 Bundle.properties 文件。这是用于创建 JSF 项目的动态 Web 项目快照,

Dynamic Web Project

这是项目文件结构的快照。您可以在属性文件夹中看到捆绑文件,

Project file structure

这是类代码的快照。注意 getBundle 方法中的文件名,

@ManagedBean(name = "exampleController")
@RequestScoped
public class ExampleController {
    private String exampleProperty;

    * Creates a new instance of ExampleController
    */
    public ExampleController() {
        exampleProperty = "Used to instantiate the bean.";
        FacesMessage facesMsg = new FacesMessage(FacesMessage.SEVERITY_INFO, 
                        ResourceBundle.getBundle("WebContent/properties/Bundle.properties").getString("ExampleMessage"), null);
    FacesContext.getCurrentInstance().addMessage(null, facesMsg);
}

最后,这是我在 tomcat 服务器上运行代码时的错误快照,

Runtime Tomcat Server Error

我尝试了几种文件名组合,但在服务器运行时继续出现文件未找到错误。我错过了什么?

最好的问候, 史蒂夫·曼斯菲尔德

最佳答案

尝试玩转路径。您路径中的“WebContent”似乎不正确。 通常资源路径相对于 WEB-INF 或当前类文件位置得到解析。 您还可以尝试将您的属性目录放在多个位置,以查看它是否在其中一个位置被拾取。 :)

此外,如果您可以从“物理上”(如果不是来自这些文件)了解构建项目实际运行的位置,您可能会发现属性文件不会与您的其他文件一起复制。 (您的项目设置中是否有部署程序集?如果有,请查看。)

更新:如果您只需要打开一个属性文件,请查看以下文件: getResourceAsStream() is always returning null ...我不知道您的文件夹在某些方面是否特别。

大多数情况下,当 Tomcat 开始在 Eclipse 中表现怪异时,我发现 Deployment Assembly 搞砸了。 (发生在 Mavenized 项目中。Eclipse 和 m2eclipse 看起来并不是最好的 friend 。)
这种情况符合“在部署到生产服务器时有效,在从 Eclipse 中运行时无效”的场景。

关于java - 在 Eclipse 中找不到文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28997754/

相关文章:

java - 如何使用@Conditional为WebSecurityAdapterConfig编写测试

Java jdk - 类路径、java home、PATH 变量已设置,但 javac 命令不起作用

java.net.ConnectException : failed to connect to/192. 168.10.110 连接失败:ECONNREFUSED(连接被拒绝

java - 如何在同一输入日期上添加日期和时间?

java - 人生游戏:-在实现人生游戏中的SOLID原则方面需要帮助

eclipse - Guava 的 Gradle "Could not find method compile() for arguments"

java - Array.sort 只返回 0 个值。数组大小正确并且数组已完全填充

tomcat - 在 tomcat 中部署 FLEX3 应用程序

java - 如何本地化 java tomcat 网络服务器上的内容?

Tomcat - 使用相同外部目录的多个实例