2017-04-26 2 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"라는 디렉토리가없는 그러나 만약 클래스의 검색 알고리즘이를 치료하는 것입니다 방법을 모르겠어요, 그래서 내가 당신에게 불완전한 답을 준 가능합니다.

관련 문제