Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/eclipse/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Can';在Eclipse中找不到文件_Java_Eclipse_Tomcat - Fatal编程技术网

Java Can';在Eclipse中找不到文件

Java Can';在Eclipse中找不到文件,java,eclipse,tomcat,Java,Eclipse,Tomcat,我有一个eclipse JSF示例,其中ExampleController类找不到Bundle.properties文件。下面是用于创建JSF项目的动态web项目快照 下面是项目文件结构的快照。您可以在properties文件夹中看到bundles文件 下面是类代码的快照。注意getBundle方法中的文件名 @ManagedBean(name = "exampleController") @RequestScoped public class ExampleController {

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

下面是项目文件结构的快照。您可以在properties文件夹中看到bundles文件

下面是类代码的快照。注意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服务器上运行代码时的错误快照

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

致以最良好的祝愿,
史蒂夫·曼斯菲尔德(Steve Mansfield)

试着用这条路玩。您路径中的“WebContent”似乎不正确。 通常,资源路径相对于WEB-INF或当前类文件位置进行解析。 你也可以试着把你的属性目录放在几个地方,看看它是否在其中一个地方被找到

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

更新:如果您只需要打开属性文件,请查看此文件: …我不知道你的文件夹在某些方面是否特别

大多数情况下,当Tomcat在Eclipse中开始表现出奇怪的行为时,我发现部署程序集是f****d。(发生在Mavenized项目中。Eclipse和m2eclipse似乎不是最好的朋友。)

这种情况适合“部署到生产服务器时工作,从Eclipse内部运行时不工作”的场景。

我同意您的评论“可能不在WebContent中”。我把它拿了出来,又跑了一次,运气不好。我把文件从文件夹中取出,放在项目中的几个地方,但仍然没有运气。无论如何,我可以看到Tomcat实际上在哪里寻找它?它可能在workspace/.metadata/.plugins\org.eclipse.wst.server.core/tmp0或tmp1等处(如果您在eclipse中运行Tomcat),是的,我正在使用Tomcat运行eclipse。它看起来很简单,但我一直在尝试多个文件位置和文件指针。是的,我正在用Tomcat 7.0运行Eclipse Lunar。实际上,该项目是使用EclipseAmazonWeb服务插件构建的。我最初在EclipseTomcat服务器上本地运行它,以确保它正常工作。调试完成后,我将部署到AWS Beanstalk实例进行最终验证。无论如何,我已经在本地Tomcat服务器和AWS Beanstalk Tomcat服务器上成功地完成了其他几个项目。但是,我还无法让任何项目使用本地文件。问题虽然不是真正的问题,但在于编译器/resourcebundle.getBundle()将该文件视为java源代码,并使用java构建路径“source”引用。我的java源代码构建路径被设置为“Recipe03_06/src”。一旦我将文件放入src,一切都正常了。它们是另一回事。ResourceBundle.getBundle()不喜欢文件扩展名。我必须删除文件类型。因此,将文件放入“Recipe03_06/src”并删除getBundle()中的文件类型引用让一切都能正常工作。对Jaroslav大喊大叫,因为他给了我关于类路径的提示。