我想设置IntelliJ IDEA来编译Processing草图。到目前为止,我一直按照此处的说明操作: http://www.slideshare.net/eskimoblood/processing-in-intellij
这些说明适用于代码完成和基本“绘图”。但是,一旦我想访问在幻灯片19上创建的数据文件夹中的文件(即图像),我就会遇到问题。首先是我的Processing类的代码:
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”。因此,运行草图(Applet)找不到图像。 IntelliJ甚至向我发出警告,但我仍然没有弄清楚如何将图像添加到草图或更好地如何设置正确的sketchPath值,以便草图在运行时查找数据文件夹中的所有文件。
我非常感谢有关如何实现这一目标的任何提示或见解。
答案 0 :(得分:3)
我遇到了同样的问题。我通过将数据目录标记为Source Root
来解决它答案 1 :(得分:1)
您可以将文件包含到目标目录中,而无需将其包含在源文件夹中。要完成,您需要将辅助文件夹“标记”为源文件夹。
我将源文件保存在/src/main/java
中,将我的资源保存在/src/main/resources
中,其中资源包含我的所有配置属性和其他不属于源代码的内容。您可以右键单击项目资源管理器中的文件夹并将其“标记为”作为源。它应该出现在target/project/
。
另外请记住,如果您正在运行Java应用程序(而不是Applet),Java将使用系统环境classpath
来解析相对路径。因此,当您开始调用程序中的文件时,Java将查看classpath
中列出的文件夹以解析文件位置以及查看target
项目的根目录。