这纯粹是常规的。您可以根据需要将它们全部存储在其中
src。
但是,如果您要坚持使用Maven或Gradle约定,则应该具有以下内容:
src/main/java
:主源文件,将被编译然后分发(jar等)src/main/resources
:主要资源,分布。src/test/java
:测试源文件,又名Junit测试src/test/resources
:测试资源。
Maven会将所有Java编译为
target/classes并将所有资源复制到
target/classes。为了测试,它将是
target/test-classes。
此外,如果要访问资源,则在类所在的Jar中访问该资源,则不应使用
newFile("..."),Paths.get(...)而应该使用getResourcesAsStream或其对应的getResource:
try (Scanner scanner = new Scanner(MyClass.class.getResourceAsStream("/myfile.txt"))) { while (scanner.hasNextLine()) { System.out.println(scanner.nextLine()); }}如果
/myfile.txt找不到,这可能会引发NPE 。



