2017-04-26 106 views
0

對不起,如果這可能是一個壞問題,但我做了兩個屬於同一個包的類。我能夠編譯兩個類都javac -d . [ClassName].javajavac -d .. [ClassName].java,但是當我嘗試運行它時,它不會工作,說Error: could not find or load main class [ClassName]如何在終端中運行打包的java文件?

這裏有兩個類,如果有幫助:

1:

package elevenslab; 

public class Card{ 
    private String suit; 
    private String rank; 
    private int pointValue; 

    public Card(String cardSuit, String cardRank, int cardPointValue){ 
    suit=cardSuit; 
    rank=cardRank; 
    pointValue=cardPointValue; 
    } 

    public String getSuit(){ 
    return suit; 
    } 

    public String getRank(){ 
    return rank; 
    } 

    public int getPtVal(){ 
    return pointValue; 
    } 

    public boolean matches(Card otherCard){ 
    if(this.getSuit().equals(otherCard.getSuit())&&this.getRank().equals(otherCard.getRank())&&this.getPtVal()==otherCard.getPtVal()){ 
     return true; 
    } 
    return false; 
    } 
    public String toString(){ 
    return rank+" of "+suit+" (point value: "+pointValue+")"; 
    } 
} 

2:

package elevenslab; 

public class CardTester{ 
    public static void main(String[] args){ 
    Card a=new Card("Hearts", "Queen", 12); 
    Card b=new Card("Spades", "Ten", 10); 
    Card c=new Card("Diamonds", "Ace", 1); 
    System.out.println(a.toString()+"\n"+b.toString()+"\n"+c.toString()); 
    } 
} 

兩個類都在同一文件夾和一切。

回答

2

轉到目錄elevenslab的父文件夾。在elevenslab應該有兩個類文件:和Card.class

那麼你應該運行下面的命令:

java -cp . elevenslab.CardTester 
0

請注意,您必須在您的課程中包含軟件包名稱。如果它沒有在環境變量或類似的東西中設置,你也必須設置一個類路徑。

java -cp .;.. elevenslab.CardTester

但是,如果你沒有一個名爲「elevenslab」目錄我不知道的類搜索算法將如何對待這一點,所以這是可能的,我給你一個不完整的答案。