2013-09-29 76 views
0

我在myhelloworld目录中有一个简单的MyHelloWorld.java文件。我通过在〜/ .bashrc文件中导出CLASSPATH ='[一些需要的类]'来将类路径设置为适当的目录。我仍然需要使用javac MyHelloWorld.jaca -cp'上面的类路径'来编译.java文件。java类路径和包问题

因此,这里是我的第一个问题,为什么我还需要已经指定由具有给出的CLASSPATH一个-cp选项明确设置类路径?

编译完文件之后,我看不到像MyHelloWorld这样的文件,但是java命令可以自动完成'java MyHelloWorld',但实际上目录中没有名为MyHelloWorld的文件? (如果我输入“java MyH”,命令可以自动完成)。

当我试图执行的Java MyHelloWorld',它促使我有NoClassDefFoundError的,这是缺少库的指标。然而,当我试图做“-cp创建MyHello的Java”,该命令将无法完成自身,这表明它无法找到任何可执行文件都

那么,什么是上面混乱迹象的原因。任何人都可以从这里拿走并向我解释java如何处理classpath和包等,谢谢!

+0

“我在目录myhelloworld中有一个简单的MyHelloWorld.java文件” - 类路径应该包含**编译的**类。 –

+0

要将.class文件生成到目录中,则必须使用javac -d选项。 – Aubin

+0

@OliCharlesworth,很酷,但为什么我仍然需要在我的.bashrc文件中设置CLASSPATH时指定-cp选项 – Daniel

回答