下面的这段代码,我从" / resource "文件夹中的文件夹中获取文件,在Java 8中对我来说很好用:
//e.g fileName = "folder0/file1.extension2"
ClassLoader classLoader = ResourceLoader.class.getClassLoader();
InputStream in = classLoader.getResourceAsStream(fileName);
Scanner scanner = new Scanner(in, "UTF-8");
Run Code Online (Sandbox Code Playgroud)
在Java 9中没有,classLoader.getResourceAsStream(fileName)返回null:
java.lang.NullPointerException: source
Run Code Online (Sandbox Code Playgroud)
但是,如果我直接使用" / resource "文件夹中的文件,这可以正常工作:
fileName = "file0.extension1"; // It works!
Run Code Online (Sandbox Code Playgroud)
我的问题很明显,说实话,有两个:
这是我的项目结构:
*.jar输出结构:
*.jar:
- javaFolder1
-javaFolder1.1
-ResourceLoader.class
-jclass1.1.2.class
-jclass1.1.3.class
-javaFolder1.2
- javaFolder2
- ..
- ..
- unreachableResourceFolderImTryingToAccess1
-resource1.1.ext
-resource1.2.ext
- unreachableResourceFolderImTryingToAccess2
- ..
- unreachableResourceFolderImTryingToAccess3
- ..
-resource0.1.ext
-resource0.2.ext
- ..
- somedll1.dll
- …Run Code Online (Sandbox Code Playgroud) 我需要访问 Github GraphQL API,以便每 N 小时永久发出以下请求:
query($ids: [ID!]!) {
rateLimit {
cost
remaining
resetAt
}
nodes(ids: $ids) {
... on Repository {
milestones(last: 100) {
nodes {
issues(last: 100) {
nodes {
closedAt
closed
}
}
state
dueOn
}
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
access-token ×1
classloader ×1
getresource ×1
github ×1
github-api ×1
java ×1
java-9 ×1
token ×1