资源文件由Gradle找到,但不是由Eclipse找到

时间:2015-03-27 23:06:45

标签: java eclipse gradle file-not-found

在我的gradle java项目中,如果我运行./gradlew run -PappArgs="['file.dat']",它就会被编译,我的应用程序会成功使用/src/main/resources/中的文件。我已将Eclipse与gradle集成,并将我的项目导入Eclipse。当我在Eclipse中使用在项目的Run Configurations参数列表中指定的filname运行应用程序时,它无法使用以下代码找到file.dat

import java.io.InputStream;
import java.util.Scanner;
public class MyClass {
    public static void main(String[] args) {
        final String fileName = args[0];
        Scanner scanner = null;
        try {
            InputStream f = MyClass.class.getResourceAsStream(fileName);
            scanner = new Scanner(f, "UTF-8"); // fails here saying f is null
        } finally {
            if (scanner != null) scanner.close();
        }
    }
}

项目树是经典的:myproj/src/main/java/MyClass.javamyproj/src/main/resources/file.datmyproj/src/test/java/MyTest.java

1 个答案:

答案 0 :(得分:1)

Eclipse的后退和祝福:您的所有资源(包含的文件和图片)必须位于项目的构建路径中。确保确实如此。如果仍然如此,请考虑不要使用您的查找文件的方法来阅读:一个很好的旧时尚

Scanner in=new Scanner(new File("src/main/resources/file.dat"));
通常会有效。
我希望这对你有帮助,祝你好运。