源代码如下:
public class CommandArgTest {
public static void main(String[] args) {
System.out.println("args[0] = " + args[0]);
System.out.println("args[1] = " + args[1]);
System.out.println("args[2] = " + args[2]);
}
}
用javac CommandArgTest.java test1 test2 test3编译时,出现错误:仅当显式请求注释处理时才接受类名称"test1 test2 test3"。
网上的说法各种各样,有说jdk的路径不对,但其他的程序没出现过类似的错误,所以应该不是这个问题;有的说使用或覆盖了已过时的API,用-Xlint:deprecation编译,但还是无法解决。
还有-Xlint:deprecation到底什么意思,只知道-Xlint:deprecation是“输出使用已过时的 API 的源位置”的意思。
头都大了,请大家帮忙了。
11 个解决方案
#1
你用Eclipse吧 在运行设置里面有一个框里面可以写运行时要传入的参数
#2
javac是编译,这时不需要给参数
运行时候:java CommandArgTest test1 test2 test3
运行时候:java CommandArgTest test1 test2 test3
#3
编译时只需要 javac CommandArgTest.java 就可以了
#4
这个是在命令行窗口中进行编译的,平常是在MyEclipse中写,能方便点。
#5
果然是这样,被弄懵了,呵呵
#6
javac是编译器,把源文件转换成字节码文件,这是一个编译过程,不需要传参数。
楼上的说的都很在理。
楼上的说的都很在理。
#7
恩,对原理的没掌握好。多谢了!
#8
我也正在重温这本书,建议还是用myeclipse,特殊的例子才去命令行,这样效率高点
#9
编译javac不需要给参数 运行时java才带上参数
#10
恩,讲得挺好的,不仅有怎么做还有为什么,不过看到后面有些吃力,像类型信息和后面的东西,可能是编码太少了,这两天先写写前面的东西,复习复习。用MyEclipse的确方便,我也一直在用,不过不是太熟悉,觉得这个问题可能在IDE里也能有输入的地方,但是没找到。
#11
恩,刚知道了,多谢。
#1
你用Eclipse吧 在运行设置里面有一个框里面可以写运行时要传入的参数
#2
javac是编译,这时不需要给参数
运行时候:java CommandArgTest test1 test2 test3
运行时候:java CommandArgTest test1 test2 test3
#3
编译时只需要 javac CommandArgTest.java 就可以了
#4
这个是在命令行窗口中进行编译的,平常是在MyEclipse中写,能方便点。
#5
果然是这样,被弄懵了,呵呵
#6
javac是编译器,把源文件转换成字节码文件,这是一个编译过程,不需要传参数。
楼上的说的都很在理。
楼上的说的都很在理。
#7
恩,对原理的没掌握好。多谢了!
#8
我也正在重温这本书,建议还是用myeclipse,特殊的例子才去命令行,这样效率高点
#9
编译javac不需要给参数 运行时java才带上参数
#10
恩,讲得挺好的,不仅有怎么做还有为什么,不过看到后面有些吃力,像类型信息和后面的东西,可能是编码太少了,这两天先写写前面的东西,复习复习。用MyEclipse的确方便,我也一直在用,不过不是太熟悉,觉得这个问题可能在IDE里也能有输入的地方,但是没找到。
#11
恩,刚知道了,多谢。