如何在终端中 运行 打包 java 文件?
How to run a packaged java file in terminal?
抱歉,如果这可能是个糟糕的问题,但我制作了属于同一个包的两个 类。我能够用 javac -d . [ClassName].java
和 javac -d .. [ClassName].java
编译 类 但是当我尝试 运行 它时,它不会工作说 Error: could not find or load main class [ClassName]
.
如果对您有帮助,类这两个都是:
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());
}
}
两者 类 都在同一个文件夹中。
请注意,您必须在 classes 中包含包名称。如果未在环境变量或类似变量中设置 class 路径,您还必须设置该路径。
java -cp .;.. elevenslab.CardTester
但是,如果您没有名为 "elevenslab" 的目录,我不确定 class 搜索算法将如何处理这个问题,所以我给您的可能是不完整的回答。
转到目录 elevenslab
的父文件夹。 elevenslab
中应该有两个 class 文件:CardTester.class
和 Card.class
。
那么你应该运行以下命令:
java -cp . elevenslab.CardTester
抱歉,如果这可能是个糟糕的问题,但我制作了属于同一个包的两个 类。我能够用 javac -d . [ClassName].java
和 javac -d .. [ClassName].java
编译 类 但是当我尝试 运行 它时,它不会工作说 Error: could not find or load main class [ClassName]
.
如果对您有帮助,类这两个都是:
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());
}
}
两者 类 都在同一个文件夹中。
请注意,您必须在 classes 中包含包名称。如果未在环境变量或类似变量中设置 class 路径,您还必须设置该路径。
java -cp .;.. elevenslab.CardTester
但是,如果您没有名为 "elevenslab" 的目录,我不确定 class 搜索算法将如何处理这个问题,所以我给您的可能是不完整的回答。
转到目录 elevenslab
的父文件夹。 elevenslab
中应该有两个 class 文件:CardTester.class
和 Card.class
。
那么你应该运行以下命令:
java -cp . elevenslab.CardTester