Поскольку мои сообщения командной строки находятся на португальском языке, я не знаю точных слов, но когда я пытаюсь выполнить java -cp. В моем файле говорится, что он не смог найти или выполнить основной класс. Я искал, но так как я новичок в программировании, до сих пор знаю, что это может быть проблемой с Classpath. Это то, что у меня есть:Не удается найти основной класс
Файл ShooterGame.class
уже скомпилирован с javac -cp . FILE
. Но когда я делаю java -cp . CLASS
, он показывает это сообщение.
Как это исправить? Благодарю.
Редактировать: Да, в каталоге есть ShooterGame.class. Более конкретно, есть папка под названием игра. Внутри этой папки вы найдете класс, о котором я только что упомянул. Есть 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);
}
}
вы пытаетесь "ява -cp. ShooterGame" или "Java -cp. ShooterGame.class" – Jayan
Правильный путь ("ява -cp. ShooterGame") – gabzerbinato
Существует ли ShooterGame.class в текущем каталоге? Вы должны скопировать полное сообщение об ошибке на вопрос. – Jayan