Я очень новичок в программировании, но я стараюсь учиться. Я немного подхватил, но некоторые понятия, похоже, перевернуты над моей головой. Похоже, когда вы учитесь, как я, и вы ищете проблему, вы получаете много разных ответов. Иногда способ формулирования ответов может быть путаным для новичка. Во всяком случае, вот моя проблема.Не удалось найти главный класс ... jar или manifest
Я создал очень простую программу, которая будет выполнять базовый расчет блоков CMU в стене. Я использовал JOptionPane вместо консоли. Я написал код в блокноте, а затем сохранил его как .java-файл (blocktestgui.java). Затем я скомпилировал его с помощью команды «javac blocktestgui.java», чтобы получить файл «bg.class». Я могу запустить программу из cmd с помощью «java bg», и она отлично работает. Моя настоящая проблема связана с файлом jar. Я создал файл manifest.txt с Main-Class: bg, затем пустую строку. Затем я использую «jar cvmf manifest.txt CMU.jar bg.class», и я получаю файл jar. Тогда всякий раз, когда я запускаю его (в cmd или двойном щелчке), я получаю ошибку «Не могу найти основной класс».
Вот что у меня есть:
Мой файл Java:
import javax.swing.JOptionPane;
class bg {
public static void main(String[] args) {
String firstNumber, secondNumber;
double number1, number2, sum;
firstNumber = JOptionPane.showInputDialog(
"Enter wall length in decimal feet:",
JOptionPane.INFORMATION_MESSAGE);
secondNumber = JOptionPane.showInputDialog(
"Enter wall height in decimal feet:",
JOptionPane.INFORMATION_MESSAGE);
number1 = Double.parseDouble(firstNumber);
number2 = Double.parseDouble(secondNumber);
sum = (number1 * number2)/0.88;
JOptionPane.showMessageDialog(null, "Total Blocks are " + sum,
"Results", JOptionPane.PLAIN_MESSAGE);
System.exit(0);
}
}
Моя баночка содержит мой файл bg.class и это то, что выглядит мой файл манифеста, как:
Manifest-Version: 1.0
Created-By: 1.7.0_02 (Oracle Corporation)
Main-Class: bg
Я в недоумении, потому что мой java-файл работает, но банку нет. Любая помощь будет большой.
Если ваш основной класс помещен под пакетом, укажите его полный абсолютный путь к классу в записи 'Mainif Class' MANIFEST.MF'. Например: если класс 'Bg' находится под пакетом' com.test', полный путь к основному классу - 'com.test.Bg' – ecle
Переименуйте файл manifest.txt в manifest.mf и создайте свой JAR еще раз. – Perception