terminal中执行javac出现乱码的问题

2012-04-19 21:21:05 +08:00
 musray
java小白从昨天开始学java,系统是lion 10.7.3,安装了java runtime。其余都是系统默认的配置。

用vim写了个*.java的程序,然后在terminal中执行:
$ javac *.java
之后系统提示了很多乱码什么的,截取如下:
????α߳?.java:2: ???棺???? EUC_CN ?IJ???ӳ???ַ?
* java????????????????????????代表??????????????以?????????? *
^
?????α߳?.java:2: ???棺???? EUC_CN ?IJ???ӳ???ַ?
* java????????????????????????代表??????????????以?????????? *
?????α߳?.java:32: ??Ҫ ';'
System.out.printf("%d %f\n" s.zhouchang(), s.area());
^
?????α߳?.java:32: ??Ҫ ';'
System.out.printf("%d %f\n" s.zhouchang(), s.area());
中间省略1万字。。。。。

在下的问题是,放下我写的程序错误不谈,系统为何提示了这么多“?????”呢?
5509 次点击
所在节点    Java
6 条回复
musray
2012-04-19 21:53:08 +08:00
可能跟中文注释有关系,俺继续研究研究。
roamlog
2012-04-19 21:57:42 +08:00
用 iTerm2,专门建一个编码为 gbk 的 profile
musray
2012-04-19 22:12:30 +08:00
@roamlog 这个我再试试。现在javac 已经不提示错误了。运行$ java *.java的时候,却提示Exception in thread "main" java.lang.NoClassDefFoundError,是不是path没有设置?查了半天不知道这个究竟需不需要设,怎么设。
leafgray
2012-04-19 22:38:35 +08:00
确定一下文件的编码.javac时可以通过-encoding 指定源文件的编码的.如
javac -encoding utf-8 Test.java

java执行的是编译后得到的class文件.如
java -cp . Test
-
NoClassDefFoundError就是在classpath中没有找到对应的class. package什么的还有目录.
这方面,原来有本JVM深度历坠讲得还是比较清晰的.例子简单....

现在上手学,命令行用javac/java的估计是比较少的... IDE..
musray
2012-04-19 22:46:36 +08:00
@leafgray 我也打算果断切换到IDE了。但有机会还是想玩玩命令行,现阶段学习语言要紧。
chenze
2012-04-19 22:55:02 +08:00

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/32670

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX