将.添加到classpath环境变量
在windows的F盘根目录下:TestParamter.java文件:publicclassTestParameter{publicstaticvoidmain(Str...
在windows的F盘根目录下:TestParamter.java文件:
public class TestParameter {
public static void main(String[] args) {
System.out.println(System.getProperty("log_path"));
}
}
编译:
javac TestParameter.java没问题
运行:
java -Dlog_path=D:\ABC TestParameter
提示:
F:\>java -Dlog_path=D:\ABC TestParameter
Exception in thread "main" java.lang.NoClassDefFoundError: TestParameter
Caused by: java.lang.ClassNotFoundException: TestParameter
at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
Could not find the main class: TestParameter. Program will exit.
将.加到classpath环境变量后就可以使用了,但我的问题是,如果对于
public class TestParameter2 {
public static void main(String[] args) {
if (args[1].equals("abc")) {
System.out.println("abc");
}
}
}
在eclipse的RUN CONFIG中添加运行时参数abc,此时即使没有将.添加到classpath中也可以执行这个java程序。
请问这两种情况为什么只有第一种会用到classpath呢?谢谢!
对于第一种情况我也是在eclipse的RUN CONFIG中添加的参数 展开
public class TestParameter {
public static void main(String[] args) {
System.out.println(System.getProperty("log_path"));
}
}
编译:
javac TestParameter.java没问题
运行:
java -Dlog_path=D:\ABC TestParameter
提示:
F:\>java -Dlog_path=D:\ABC TestParameter
Exception in thread "main" java.lang.NoClassDefFoundError: TestParameter
Caused by: java.lang.ClassNotFoundException: TestParameter
at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
Could not find the main class: TestParameter. Program will exit.
将.加到classpath环境变量后就可以使用了,但我的问题是,如果对于
public class TestParameter2 {
public static void main(String[] args) {
if (args[1].equals("abc")) {
System.out.println("abc");
}
}
}
在eclipse的RUN CONFIG中添加运行时参数abc,此时即使没有将.添加到classpath中也可以执行这个java程序。
请问这两种情况为什么只有第一种会用到classpath呢?谢谢!
对于第一种情况我也是在eclipse的RUN CONFIG中添加的参数 展开
展开全部
右键我的电脑-属性-高级-环境变量
假设JDK的安装路径:E:\jdk
在系统变量中添加下面的变量和属性值
CLASSPATH .;E:\jdk\lib\tools.jar; E:\jdk\lib\dt.jar;
PATH E:\jdk\bin
假设JDK的安装路径:E:\jdk
在系统变量中添加下面的变量和属性值
CLASSPATH .;E:\jdk\lib\tools.jar; E:\jdk\lib\dt.jar;
PATH E:\jdk\bin
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
使用集成开发工具mysclipe,很多东西里面都已经配置好了,他会自动的帮你完成运行的一些事。所以在mysclipe里面只要jdk能够顺利的编译程序,它直接就能运行,但在dos运行下就不行,虽然编译时没错,但不会出结果的!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
请看 java -help中的cp参数。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询