Intellij idea 如何在IntelliJ IDEA中获得sketchPath的正确值?

Intellij idea 如何在IntelliJ IDEA中获得sketchPath的正确值?,intellij-idea,processing,Intellij Idea,Processing,我想设置IntelliJ IDEA来编译加工草图。到目前为止,我一直遵循这里的说明: 这些说明适用于代码完成和基本“绘图”。但一旦我想访问幻灯片19中创建的数据文件夹中的文件(即图像),我就会遇到问题。首先是我的处理类的代码: import processing.core.PApplet; import processing.core.PImage; public class IntellijTest extends PApplet { private PImage image;

我想设置IntelliJ IDEA来编译加工草图。到目前为止,我一直遵循这里的说明:

这些说明适用于代码完成和基本“绘图”。但一旦我想访问幻灯片19中创建的数据文件夹中的文件(即图像),我就会遇到问题。首先是我的处理类的代码:

import processing.core.PApplet;
import processing.core.PImage;

public class IntellijTest extends PApplet
{
    private PImage image;

    @Override
    public void setup() {
        size(400, 400);
        println(sketchPath);
        // load image
        image = loadImage("test.png");
    }


    @Override
    public void draw() {
        background(0);
        noStroke();
        fill(200);
        rect(100, 100, 200, 200);
        // draw image
        image(image, 110, 100);
    }
}
这会导致以下错误:

/Applications/IntelliJ IDEA 12.app/bin
The file "test.png" is missing or inaccessible, make sure the URL is valid or that the file has been added to your sketch and is readable.
Exception in thread "Animation Thread" java.lang.NullPointerException
    at processing.core.PGraphics.image(PGraphics.java:3572)
    at processing.core.PApplet.image(PApplet.java:12604)
    at IntellijTest.draw(IntellijTest.java:28)
    at processing.core.PApplet.handleDraw(PApplet.java:2306)
    at processing.core.PGraphicsJava2D.requestDraw(PGraphicsJava2D.java:243)
    at processing.core.PApplet.run(PApplet.java:2177)
    at java.lang.Thread.run(Thread.java:744)
如您所见,sketchPath设置为“/Applications/IntelliJ IDEA 12.app/bin”。因此运行的草图(小程序)找不到图像。IntelliJ甚至警告过我这一点,但我仍然不知道如何将图像添加到草图中,或者更好地说,如何设置正确的sketchPath值,以便草图在运行时找到数据文件夹中的所有文件


我真的很感激任何关于如何实现这一点的提示或见解。

您可以将文件包含到目标目录中,而无需将其包含在源文件夹中。要完成此任务,您需要将辅助文件夹“标记”为源文件夹

我将源文件保存在
/src/main/java
中,将资源保存在
/src/main/resources
中,其中资源包含我的所有配置属性和其他不属于源代码的内容。您可以右键单击项目资源管理器中的文件夹并将其“标记”为源。它应该出现在
目标/项目/
的根目录下


还请记住,如果您运行的是Java应用程序(不是小程序),Java将使用系统环境
类路径
解析相对路径。因此,当您开始在程序中调用文件时,Java将在
类路径中列出的文件夹中查找文件位置,并查找
目标项目的根目录

您可以将文件包含到目标目录中,而无需将其包含在源文件夹中。要完成此任务,您需要将辅助文件夹“标记”为源文件夹

我将源文件保存在
/src/main/java
中,将资源保存在
/src/main/resources
中,其中资源包含我的所有配置属性和其他不属于源代码的内容。您可以右键单击项目资源管理器中的文件夹并将其“标记”为源。它应该出现在
目标/项目/
的根目录下


还请记住,如果您运行的是Java应用程序(不是小程序),Java将使用系统环境
类路径
解析相对路径。因此,当您开始在程序中调用文件时,Java将在
类路径中列出的文件夹中查找文件位置,并查找
目标项目的根目录

我也有同样的问题。我通过将数据目录标记为源根目录解决了这个问题,我也遇到了同样的问题。我解决了这个问题,将数据目录标记为Source Root

其中是与小程序相关的
test.png
?test.png位于sketch文件夹中的“data”文件夹中。默认情况下,处理会在该位置查找要加载的文件–至少在使用处理GUI编译小程序时是这样。如果小程序中的sketchPath值类似于“/…/mySketch”,而不是“/Applications/IntelliJ IDEA 12.app/bin”,则编译的处理小程序将加载图像。至少我希望它会…你能提供你的项目的文件结构吗?数据文件夹可能不在正确的位置。很抱歉我的响应太晚。不知何故,我没有收到关于我的问题的更新/评论的任何通知。这是我的项目文件结构:project_folder/data/test.png&/src/IntellijTest.javaWhere is
test.png
与您的小程序有关吗?test.png位于草图文件夹内的“data”文件夹中。默认情况下,处理会在该位置查找要加载的文件–至少在使用处理GUI编译小程序时是这样。如果小程序中的sketchPath值类似于“/…/mySketch”,而不是“/Applications/IntelliJ IDEA 12.app/bin”,则编译的处理小程序将加载图像。至少我希望它会…你能提供你的项目的文件结构吗?数据文件夹可能不在正确的位置。很抱歉我的响应太晚。不知何故,我没有收到关于我的问题的更新/评论的任何通知。以下是我的项目文件结构:project_folder/data/test.png&/src/IntellijTest.java