Java getResourceAsStream()始终返回null

Java getResourceAsStream()始终返回null,java,Java,我正试图将文件“config.yml”复制到“plugins/AntiAura/config.yml”中 然而,我一直得到一个NPE [14:48:22 WARN]: java.lang.NullPointerException [14:48:22 WARN]: at a.e.a(Main.java:413) [14:48:22 WARN]: at a.e.d(Main.java:384) [14:48:22 WARN]:

我正试图将文件“config.yml”复制到“plugins/AntiAura/config.yml”中

然而,我一直得到一个NPE

    [14:48:22 WARN]: java.lang.NullPointerException
    [14:48:22 WARN]:        at a.e.a(Main.java:413)
    [14:48:22 WARN]:        at a.e.d(Main.java:384)
    [14:48:22 WARN]:        at a.e.onEnable(Main.java:637)
    [14:48:22 WARN]:        at         org.bukkit.plugin.java.JavaPlugin.setEnabled(    JavaPlug
      in.java:321)
         [14:48:22 WARN]:        at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(
JavaPluginLoader.java:335)
    [14:48:22 WARN]:        at org.bukkit.plugin.SimplePluginManager.enablePlugin(Si
mplePluginManager.java:405)
    [14:48:22 WARN]:        at org.bukkit.craftbukkit.v1_8_R1.CraftServer.loadPlugin
(CraftServer.java:355)
    [14:48:22 WARN]:        at org.bukkit.craftbukkit.v1_8_R1.CraftServer.enablePlug
ins(CraftServer.java:315)
    [14:48:22 WARN]:        at org.bukkit.craftbukkit.v1_8_R1.CraftServer.reload(Cra
ftServer.java:744)
    [14:48:22 WARN]:        at org.bukkit.Bukkit.reload(Bukkit.java:534)
    [14:48:22 WARN]:        at org.bukkit.command.defaults.ReloadCommand.execute(Rel
oadCommand.java:23)
    [14:48:22 WARN]:        at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCo
mmandMap.java:141)
    [14:48:22 WARN]:        at org.bukkit.craftbukkit.v1_8_R1.CraftServer.dispatchCo
mmand(CraftServer.java:645)
    [14:48:22 WARN]:        at org.bukkit.craftbukkit.v1_8_R1.CraftServer.dispatchSe
rverCommand(CraftServer.java:631)
    [14:48:22 WARN]:        at net.minecraft.server.v1_8_R1.DedicatedServer.aM(Dedic
atedServer.java:353)
    [14:48:22 WARN]:        at net.minecraft.server.v1_8_R1.DedicatedServer.z(Dedica
tedServer.java:317)
    [14:48:22 WARN]:        at net.minecraft.server.v1_8_R1.MinecraftServer.y(Minecr
aftServer.java:623)
    [14:48:22 WARN]:        at net.minecraft.server.v1_8_R1.MinecraftServer.run(Mine
craftServer.java:526)
    [14:48:22 WARN]:        at java.lang.Thread.run(Thread.java:722)
    [14:48:22 INFO]: null ||
正如您从stacktrace底部的de bug消息中看到的,然后是我使用的行

InputStream jarURL = Main.class.getResourceAsStream("/config.yml");
只是返回null

我已经尝试了这两种方法,
InputStream jarURL=Main.class.getResourceAsStream(“/config.yml”)
InputStream jarURL=Main.class.getResourceAsStream(“config.yml”)。文件“config.yml”肯定在JAR文件中:

建议的解决方案,是我已经在做的事情,并没有解决问题


这里有什么问题?

在类路径的根目录中没有config.yml,但是在joehot200中,所以需要getResourceAsStream(“/joehot200/config.yml”)

除非
Main
类的限定名是
plugins.AntiAura.Main
,否则两次尝试都是错误的。在名称前面加上
/
意味着将其解析为绝对路径,而省略
/
则意味着相对于调用该方法的
类进行解析。您可以尝试
Main.class.getResourceAsStream(“/plugins/AntiAura/config.yml”)
…啊!所以我需要把它放在模糊的包里!!嗯,这是每一个新版本发布的另一个额外步骤。谢谢你的帮助!仍然在寻找一个更实用的解决方案(如果有的话)。这取决于您的模糊处理程序,即当资源在模糊处理之前驻留在同一个包/文件夹中时,该工具应提供自动调整资源路径的功能。我知道,
yguard
有这样一个选择,我希望其他人也有类似的选择。哦,是的。。。愚蠢的我。。。谢谢