昨天用jcreator运行程序后,出现Usage: java [-options] class [args...]错误提示,代码没问题。
结果放下学习进度,解决该问题。天呀,花了我三个小时,晕~~~~~~
我用的是 JCreator Pro v4.50.010 注册机 汉化包
源文档
下载地址是 http://download.csdn.net/source/2063511
现象: 代码没问题,在命令提示符下编译,解释运行都正常。但是在jcreator中,编译通过,却出现了解释运行通不过。出现了也不算是错误提示的提示,如下:
####################################################################################3
--------------------Configuration:
Command : "C:/Program Files/Java/jdk1.6.0_14/bin/java.exe" -classpath "F:/code;C:/Program Files/Java/jdk1.6.0_14/jre/lib/rt.jar;C:/Program Files/Java/jdk1.6.0_14/lib/dt.jar;C:/Program Files/Java/jdk1.6.0_14/lib/tools.jar;C:/Program Files/Java/jdk1.6.0_14/jre/lib/ext/dnsns.jar;C:/Program Files/Java/jdk1.6.0_14/jre/lib/ext/localedata.jar;C:/Program Files/Java/jdk1.6.0_14/jre/lib/ext/sunjce_provider.jar;C:/Program Files/Java/jdk1.6.0_14/jre/lib/ext/sunmscapi.jar;C:/Program Files/Java/jdk1.6.0_14/jre/lib/ext/sunpkcs11.jar"
Directory : F:/code
Usage: java [-options] class [args...]
(to execute a class)
or java [-options] -jar jarfile [args...]
(to execute a jar file)
where options include:
-client to select the "client" VM
-server to select the "server" VM
-hotspot is a synonym for the "client" VM [deprecated]
The default VM is client.
-cp
-classpath
A ; separated list of directories, JAR archives,
and ZIP archives to search for class files.
-D
set a system property
-verbose[:class|gc|jni]
enable verbose output
-version print product version and exit
-version:
require the specified version to run
-showversion print product version and continue
-jre-restrict-search | -jre-no-restrict-search
include/exclude user private JREs in the version search
-? -help print this help message
-X print help on non-standard options
-ea[:
-enableassertions[:
enable assertions
-da[:
-disableassertions[:
disable assertions
-esa | -enablesystemassertions
enable system assertions
-dsa | -disablesystemassertions
disable system assertions
-agentlib:
load native agent library
see also, -agentlib:jdwp=help and -agentlib:hprof=help
-agentpath:
load native agent library by full pathname
-javaagent:
load Java programming language agent, see java.lang.instrument
-splash:
show splash screen with specified image
Process completed.
##################################################################
1、开始怀疑代码写得不严谨,jcreator发现格式不对? 后来排除。
2、文件文本编码格式不对?莫非jcreator4.5 默认使用UTF-8编码存储Java源文件。而我们的中文环境的默认编码为GBK?? 编写了个中文的helloworld,没问题,通过了。排除。
3、我又怀疑Java虚拟机的问题,因为在命令提示符运行java -version出现
F:/code>java -version
java version "1.6.0_14"
Java(TM) SE Runtime Environment (build 1.6.0_14-b08)
Java HotSpot(TM) Client VM (build 14.0-b16, mixed mode, sharing)
F:/code>
后来思考后,认为不是这个原因,不然也不会在命令提示符下编译运行没事,而到jcreator中就出现提示。
4、利用搜索引擎查询,得到两个“解决办法”:
方法一:
1、安装完Jcreator pro,仍然需要配置。选择Configure,再选择Option。
2、在“Option”对话框中选择“Documents”。再选择“Java”,再选择“Syntax”,单击“open”按钮。
3、单击“New”,选择JDK的安装路径,确定(建立JDK关联)。
4、然后选中刚才建立的JDK,单击“Edit”,选择“Documentation”选项卡,单击“Add”,选择JDK帮助文档的路径(JDK帮助文档的路径需要在网上下载).
5、为了在Jcreator pro显示中文,在“Option”对话框中选择“Documents/Java/Syntax”。单击“open”按钮。
6、在
方法二:
JCreator 4.00中文乱码解决方法!
乱码问题解决方案:
JCreator 4默认使用UTF-8编码存储Java源文件。而我们的中文环境的默认编码为GBK。所以假设有一个UTF-8编码的Main.java文件,里面第七行中文。
在我们的中文系统下直接编译:javac Main.java,里面的中文会有问题,出现如下的警告信息:
Main.java:7: 警告: 编码 GBK 的不可映射字符
运行的时候输出的不是中文,而是乱码。
应该使用-encoding参数指明编码方式:javac -encoding UTF-8 Main.java,这下没警告了,运行也正确了。呵呵!
在JCreator 4中设置:
菜单:Configure --> Options --> JDK Tools --> Compiler,选中
Parameters原来的默认值为:-classpath "$[ClassPath]" -d "$[OutputPath]" $[ModJavaFiles]
修改后为:
-encoding UTF-8 -classpath "$[ClassPath]" -d "$[OutputPath]" $[ModJavaFiles]
================
搞定!!!^_^!!
但是还是有一个问题,使用JCreator 4打开其他编码方式(如GBK)的文件时里面的中文还是会显示乱码,因为JCreator 4默认使用UTF-8方式打开。这个就没办法了,Editplus、UltraEdit、VIM等都可以自动识别文件的编码方式,并使用正确的编码正确地打开文件,但JCreator 4不行,eclipse也不行。只能希望它们早日实现自动识别编码的功能!
后来试验后,这两种方法至少不能解决我的问题。
怎么办??最后无意中,我删除了几行代码,却能执行了。后来,我还原了原来程序,保留了原来程序代码,对注释部分,只要增加一些字,或者删除一些字,就有可能通过jcreator的解释执行。
今天早起,我想找到答案了!!!
肯定是jcreator对中文支持不是很好,造成的这种问题!把中文都改成英文或者拼音,就不再遇到这种问题了。
如果大家也碰到类似问题,试一试或者把中文全部改成英文或者拼音,或者对中文部分增加或者删除一些字或行,就可以解决类似的问题了!
我昨天本来想换工具到NetBeans,但是后来想到刚刚学习Java,就用太智能的IDE,对学习和记住语法语句不利,就暂时放下了换工具的念头。哈哈
源文档
源文档