我正在尝试将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");
}
}
我哪里错了?
答案 0 :(得分:1)
您已从异常消息中得到答案:
未知协议:classpath
尝试使用file://
协议或getClass().getClassLoader().getResource()
加载资源目录。否则,如果您必须这样做,则需要为URL handler
实施并注册protocol
。
有关详细信息,请参阅this SO thread。
答案 1 :(得分:-3)
classpath:
不是协议。协议通常是http://
或ftp://
(以及许多其他协议)。