java 编译中文件名和类名不一致的问题

来源:百度知道 编辑:UC知道 时间:2024/06/09 13:58:36
我写了个编译好的自定义的jar包a.jar(可以运行,没有问题)
在其他程序java程序b中引用它
在red flag上编译b时会报a中文件名和类名不一致
报错的信息如:a.XmlParse.java:XmlParse类应该保存在XmlParse.java中
很奇怪的错误它的错误信息中文件名和类名都是相同的,还报错。
此外在windows上编译b不会出错,可以正常运行
希望有高手指教
谢谢
我的java文件名是大写
文件中也只有一个public类
类名和文件名也是相同的
在windows下面是没有问题的
在linux下就出文件名和类名不同的错误了
奇怪啊

java文件的名字要和文件中public类的名字保持一致,并且一个文件中可以有多个类,但有且只能有一个public类型的类

方式一:文件名和类名一致
文件名为:HelloJava.java

文件内容:

public class HelloJava{
public static void main(String[] args) {
System.out.println("HelloJava!");
}
}
方式二:文件名和类名不一致
文件名为:HelloJava.java

文件内容:

class Hello{
public static void main(String[] args) {
System.out.println("Hello!");
}
}
注意:文件名与类名一致的时候,public class XXX{},public是必须的 ,不一致的时候无需写public

我郁闷了。。java文件名开头文件必须要是大写这个应该知道吧

可能是目录结构不正确,你最好能发布一下你的源代码

你在Linux下是否隐藏了文件扩展名 也许你的文件名是XmlParse.java.java