由于我的命令提示符消息是葡萄牙语,我不知道确切的单词,但是当我尝试执行 java -cp时。 我的文件 ,它说它无法找到或执行主类。我已经搜索了,但由于我是编程新手,到目前为止我知道它可能是Classpath的一个问题。这就是我所拥有的:
ShooterGame.class
文件已使用javac -cp . FILE
正确编译。但当我java -cp . CLASS
时,它会显示该消息。
我该如何解决这个问题?感谢。
编辑: 是的,目录中有一个ShooterGame.class。更具体地说,有一个名为 game 的文件夹。在这个文件夹里,你找到我刚才提到的课程。我可以在这里发布4个完整的课程。评论你是否需要其中任何一个(虽然我认为这个问题出在我们讨论的这个课程中)。
ShooterGame.java(它没有package
)
import java.awt.*;
import java.awt.event.*;
import javax.imageio.ImageIO;
import java.awt.Graphics;
import java.awt.Color;
import javax.swing.JFrame;
import javax.swing.*;
import java.net.URL;
import java.io.IOException;
import java.awt.image.BufferedImage;
import java.awt.event.MouseEvent;
import game.input.InputHandler;
import game.player.Player;
import game.scenario.Block;
public class ShooterGame extends JFrame{
static int playerX=500;
static int playerY=520;
InputHandler input = new InputHandler(this);
public static Player player = new Player(playerX,playerY,50,50);
Block meteor = new Block(100,100,30,30);
public static void main(String[] args){
ShooterGame game = new ShooterGame();
game.run();
System.exit(0);
}
static int windowWidth = 1300;
static int windowHeight = 600;
static int fps = 30;
static BufferedImage backBuffer = new BufferedImage(windowWidth, windowHeight, BufferedImage.TYPE_INT_RGB);
public void run(){
boolean running = true;
initialize();
while(running){
long time = System.currentTimeMillis();
update();
draw();
time = (1000 / fps) - (System.currentTimeMillis() - time);
if (time > 0) {
try{
Thread.sleep(time);
}
catch(Exception e){};
};
}
}
public void initialize(){
setTitle("--- Shooter Game ---");
setSize(windowWidth, windowHeight);
setResizable(false);
setDefaultCloseOperation(EXIT_ON_CLOSE);
setVisible(true);
}
public void update(){
player.update(input);
meteor.update(0);
}
public void draw(){
Graphics g = getGraphics();
Graphics bbg = backBuffer.getGraphics();
bbg.setColor(Color.BLACK);
bbg.fillRect(0, 0, windowWidth, windowHeight);
player.Draw(bbg);
meteor.Draw(bbg);
g.drawImage(backBuffer, 0, 0, this);
}
}
答案 0 :(得分:0)
根据您的代码和评论,我认为您需要
java -cp game ShooterGame
game
文件夹是ShooterGame.class
所在的位置。所以你也可以
cd game
java -cp . ShooterGame
现在,如果ShooterGame
包含在game
中;那就是
java -cp . game.ShooterGame
您会指向包含game
的文件夹。