Java 包结构(以及放置图像的位置)

Java 包结构(以及放置图像的位置),java,Java,我是自学成才的,在尝试使用getClass().getResource(path)加载图像时,我想我已经强调了如何构建项目的一个问题。我目前只使用cmd和TextPad 我的文件夹结构如下: Desktop/Java/uk/co/woodward/recruit /build /images /src 我使用 javac-d“。uk/co/woodward/recruit/src/example.java java文件位于包uk.co.woodward.recruit.

我是自学成才的,在尝试使用getClass().getResource(path)加载图像时,我想我已经强调了如何构建项目的一个问题。我目前只使用cmd和TextPad

我的文件夹结构如下:

Desktop/Java/uk/co/woodward/recruit

    /build
    /images
    /src
我使用
javac-d“。uk/co/woodward/recruit/src/example.java

java文件位于
包uk.co.woodward.recruit.build中

这一切都很好,类最终被放在build文件夹中,但在阅读java教程中如何使用图标时,我意识到“build”不是一个包,我对如何设置图像文件相对于当前类的位置有点困惑。我也不确定是否应该将“Java”(或recrupt)设置为某种根变量/路径,而不是从那里编译

不管怎么说,到目前为止我试过的都不管用

public CandidateFormToolBar(){
    saveButton.setIcon(createIcon("/images/save.png", "Save"));
    add(saveButton);
}

private ImageIcon createIcon(String path, String btnName){
    URL url = getClass().getResource(path);
    if(url == null)
        System.err.println("\nThe " + btnName + " Icon Path Cannot Be Found: " + path + "\n");

    return new ImageIcon(url);
}
运行该程序时,我尝试将图像与类一起放在build文件夹中,并使用路径“save.png”,我尝试了上面的代码(我认为这会上升到recruit文件夹,然后上升到image文件夹),但没有成功。我尝试使用-cp将jvm指向images文件夹。还有更多

结果是我意识到我对这一点还不够了解,我的结构可能不被推荐。这有点令人沮丧


如果有人能模糊地给我指出正确的方向,我将不胜感激

将图像放在已放置Java文件的文件夹中。就像tomcat服务器一样,这是我用来访问jsp文件中图像的结构

>>Web content
   >imagesfolder 
   >Web-inf
  Myfile.jsp 
现在在这个Myfile.jsp文件中,我使用下面的url“imagesfolder/myimage.png”来访问imagefolder中的图像。这里的Web内容是包含Myfile.jsp和2个子文件夹imagesfolder和Web inf的文件夹,imagesfolder包含myimages.png

如果您的文件位于Java文件夹中,您也可以创建这样的目录,然后在其中创建一个图像文件夹,并使用上面提到的url模式访问它们


希望这能解决你的疑问。

哦,你在开玩笑。它正在工作。这是一个Windows在一个文件上对我隐藏扩展名的案例,而不是文件夹中的所有其他文件。如果有人注意到我的包的结构看起来像Web inf,而不是包含Myfile.jsp的Webcontent文件夹,我仍然希望您能反馈我的包的结构。或者我误解了?所以你建议将图像放在内容文件夹的子文件夹中,我猜这相当于我的“构建”文件夹(包含我的类文件而不是.java源文件的文件夹)。有道理。谢谢