请教一下,Linux下的Java编程是不是跟windows下有区别?
为什么在windows下写好能运行的程序,在Linux下编译时就出现错误?

解决方案 »

  1.   

    你是不是用到了外部文件。路径修改过吗?linux的路径和windows不同。
      

  2.   

    出现的是这样的错误提示:
    1. WARNING in CeShiFile.java (at line 4)
            import java.util.*;
                   ^^^^^^^^^
    The import java.util is never used
    ----------
    2. WARNING in CeShiFile.java (at line 7)
            public class CeShiFile extends JFrame implements ActionListener
                         ^^^^^^^^^
    The serializable class CeShiFile does not declare a static final serialVersionUID field of type long
    ----------
    2 problems (2 warnings)简单的九九乘法表之类的程序是可以运行的,但是好像引入了包的程序就会出现错误。
      

  3.   

    谢谢楼上的,真的可以运行~
    再补充问一下,我用的是rhel5的系统,对中文的支持不是很好,程序里的中文都显示不出来,有没有办法解决呢?linux下编写java用什么编辑器对中文的支持好一点?
      

  4.   


    网上好多做法是 在 $JRE_HOME/lib/fonts 目录下新建 fallback 目录,拷贝几个中文字体进去
      

  5.   

    如果都是显示的方框,那么就是字体的原因
    如果是一堆不认识的字符,那么可能就是编码问题通常的做法是将中文写入到一个properties文件
    然后通过native2ascii转换为ascii
    最后重新读取这个properties文件
    至少我都是这样做的,这样可以减少很多麻烦具体可以参看i18n
      

  6.   


    例如:
    创建文件message_zh.properties,并写入
    label.text=标签的中文表示然后通过命令行工具%JAVA_HOME%\bin\native2ascii
    native2ascii -encoding GBK message_zh.properties > message.properties
    得到中文的ascii表示
    label.text=\u6807\u7b7e\u7684\u4e2d\u6587\u8868\u793a
    p.s. GBK是我系统的默认编码,通过System.getProperty("file.encoding")得到的。之后在java代码中通过ResourceBundle来读取这些properties文件,通常情况下就可以得到正确的文字。
    ResourceBundle bundle = ResourceBundle.getBundle("message");
    String text = bundle.getString("label.text");这个方法本来是用来做国际化的i18n,但也能够很好的避免乱码。
      

  7.   

    我只在很少在2个平台上都编在linux上编好基本在windows上可以直接运行了 哈哈~!