这纯粹是常规的。您可以根据需要将它们全部存储在其中src。
但是,如果您要坚持使用Maven或Gradle约定,则应该
具有以下内容:
src/main/java
:主源文件,将被编译然后分发(jar等)src/main/resources
:主要资源,分布。src/test/java
:测试源文件,又名Junit测试src/test/resources
:测试资源。
Maven会将所有Java编译为target/classes并将所有资源复制到
arget/classes。为了进行测试,它将为target/test-classes。
此外,如果要访问资源,则在类所在的Jar中访问该资源,则不应使用
new File("..."),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 。



