我在myhelloworld目录中有一个简单的MyHelloWorld.java文件。我通过在〜/ .bashrc文件中导出CLASSPATH ='[some needed class]'将类路径设置为适当的direcotries。我仍然需要使用javac MyHelloWorld.jaca -cp'上面的类路径'来编译.java文件。
所以这是我的第一个问题,为什么我还需要在指定了CLASSPATH的情况下通过使用-cp选项显式设置classpath?
文件编译完成后,我看不到像MyHelloWorld这样的文件,但java命令可以自动完成'java MyHelloWorld',实际上目录中没有名为MyHelloWorld的文件? (如果输入“java MyH”,则命令可以自动完成)。
当我尝试执行'java MyHelloWorld'时,它提示我有NOClassDefFoundError,它是缺少库的指示器。但是,当我尝试执行'java -cp MyHello'时,命令无法完成,表明它根本无法找到任何可执行文件
那么上述令人困惑的迹象是什么原因。任何人都可以从这里开始向我解释java如何处理类路径和包等等。谢谢!