Java中的MalformedUrlException未知协议类路径

时间:2017-03-07 08:58:11

标签: java

我正在尝试将URL实例变量的值设置为类路径,但我收到以下错误:

Exception in thread "main" java.net.MalformedURLException: unknown protocol: classpath
    at java.net.URL.<init>(URL.java:600)
    at java.net.URL.<init>(URL.java:490)
    at java.net.URL.<init>(URL.java:439)
    at com.foodprocessor.App.main(App.java:18)
C:\Users\admin\AppData\Local\NetBeans\Cache\8.2\executor-snippets\run.xml:53: Java returned: 1
BUILD FAILED (total time: 0 seconds)

这是我的代码:

    public class App {
    public static void main(String[] args) throws MalformedURLException{
        MyEnvironmentA env = new MyEnvironmentA(new URL("classpath:"+System.getProperty("java.class.path")));
        env.run("ChocolateMilk");
     }
   }

我哪里错了?

2 个答案:

答案 0 :(得分:1)

您已从异常消息中得到答案:

  

未知协议:classpath

尝试使用file://协议或getClass().getClassLoader().getResource()加载资源目录。否则,如果您必须这样做,则需要为URL handler实施并注册protocol

有关详细信息,请参阅this SO thread

答案 1 :(得分:-3)

classpath:不是协议。协议通常是http://ftp://(以及许多其他协议)。