[英]How to compile packages in java?
我寫了一個簡單的包程序:
//A simple package
package MyPack
class Balance
{
String name;
double bal;
Balance(String n, double b)
{
name=n;
bal=b;
}
void show()
{
if(bal<0)
System.out.println("-->");
System.out.println(name+ ": $:" +bal);
}
}
class AccountBalance
{
public static void main(String args[])
{
Balance current[]=new Balance[3];
current[0]=new Balance("A.K.Juwatkar",123.123);
current[1]=new Balance("A.P.Dhoke",345.67);
current[2]=new Balance("Anil Sarang",100.98);
for(int i=0;i<3;i++)
current[i].show();
}
}
我正在使用Ubuntu 10.04&當我使用它編譯它
java MyPack.AccountBalance
我收到以下消息:
Exception in thread "main" java.lang.NoClassDefFoundError: MyPack/AccountBalance
Caused by: java.lang.ClassNotFoundException: MyPack.AccountBalance
at java.net.URLClassLoader$1.run(URLClassLoader.java:217)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:205)
at java.lang.ClassLoader.loadClass(ClassLoader.java:321)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:294)
at java.lang.ClassLoader.loadClass(ClassLoader.java:266)
Could not find the main class: MyPack.AccountBalance. Program will exit.
怎么了? 請幫幫我。 我已經安裝了openjdk,我還需要安裝其他東西嗎? 我正在使用Ubuntu 10.04,請幫助我
最好是從包外編譯和運行類:
首先用javac編譯:
$javac MyPack/AccountBalance.java
這將在名為AccountBalance.class的MyPack文件夾中創建一個新文件
然后你可以運行它:
$java MyPack.AccountBalance
順便說一句:不鼓勵包名稱以大寫字母開頭。
當您嘗試編譯java類時,請使用'-d'選項(destination)指定.class文件的位置。
javac -d "classes" AccountBalance.java
當您運行程序時,請確保類路徑中包含相同的文件夾:
java -classpath "classes" MyPack.AccountBalance
如果您經常通過javac
和java
命令進行編譯和運行,那么請使用
javac MyJavaClass.java && java MyJavaClass
這將編譯該類,然后運行您剛剛編譯的類。
注意:替換&&
;
如果使用Windows PowerShell。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.