Форум программистов, компьютерный форум, киберфорум
Java
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/12: Рейтинг темы: голосов - 12, средняя оценка - 4.67
1 / 1 / 0
Регистрация: 20.10.2009
Сообщений: 66
1

Нужно сделать исполняемый jar.

20.10.2009, 10:53. Просмотров 2355. Ответов 14
Метки нет (Все метки)


Попробовал сделать исполняемый jar.

Имею каталог metal в котором такие файлы:

Metalworks.class
Metalworks.java
MetalworksFrame.class
MetalworksFrame.java
MetalworksFrame$1.class
manifest.mf

В манифесте пишу :

Manifest-Version: 1.0
Created-By: 1.4.0_01 (Sun Microsystems Inc.)
Main-Class: Metalworks

Пробую создать jar :

jar cmf manifest.mf Metalworks.jar *.class

Запускаю из под винды - сплошная ругань:

Could not find the main class. Program will exit

Вот код, что в Metalworks.java:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
import java.awt.*; 
import javax.swing.*; 
import javax.swing.border.*; 
import javax.swing.plaf.metal.*; 
 
 
public class Metalworks { 
 
    public static void main( String[] args ) { 
        JDialog.setDefaultLookAndFeelDecorated(true); 
        JFrame.setDefaultLookAndFeelDecorated(true); 
        Toolkit.getDefaultToolkit().setDynamicLayout(true); 
        System.setProperty('sun.awt.noerasebackground','true'); 
 
        try { 
            javax.swing.plaf.metal.MetalLookAndFeel.setCurrentTheme( new javax.swing.plaf.metal.DefaultMetalTheme()); 
            UIManager.setLookAndFeel('javax.swing.plaf.metal.MetalLookAndFeel'); 
        }   
        catch ( UnsupportedLookAndFeelException e ) { 
            System.out.println ('Metal Look & Feel not supported on this platform. 
Program Terminated'); 
            System.exit(0); 
        } 
        catch ( IllegalAccessException e ) { 
            System.out.println ('Metal Look & Feel could not be accessed. 
Program Terminated'); 
            System.exit(0); 
        } 
        catch ( ClassNotFoundException e ) { 
            System.out.println ('Metal Look & Feel could not found. 
Program Terminated'); 
            System.exit(0); 
        }    
        catch ( InstantiationException e ) { 
            System.out.println ('Metal Look & Feel could not be instantiated. 
Program Terminated'); 
            System.exit(0); 
        } 
        catch ( Exception e ) { 
            System.out.println ('Unexpected error. 
Program Terminated'); 
            e.printStackTrace(); 
            System.exit(0); 
        } 
        JFrame frame = new MetalworksFrame(); 
        frame.setVisible(true); 
    } 
}
Может где-то я ошибся? Спецы, подскажите!!!
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
20.10.2009, 10:53
Ответы с готовыми решениями:

Исполняемый jar файл, ubuntu
Добрый вечер, пытаюсь создать исполняемый jar файл, все делал следую инструкции так сказать. ...

как сделать jar файл ?
Народ подскажите плиз: у меня был jar файл. я его разархивировал и получил две папки META-INF и...

Создать исполняемый Jar файл в NetBeans
Есть проект в NetBeans, в нём класс и форма JFrame, которая и является главной. Как из этого...

Создать исполняемый Jar файл в IntelliJ IDEA
Получил задание - нужно создать исполняемый Jar-файл в IntelliJ IDEA (версия 12.1.6). Вроде-бы...

__________________
Помогаю в написании курсовых работ и дипломов здесь.
Записывайтесь на профессиональные курсы Java-разработчиков
14
3 / 3 / 7
Регистрация: 19.10.2009
Сообщений: 225
20.10.2009, 12:16 2
Лично я jar-ы всегда делаю через Windows Commander. Записываешь все свои классы в пустой каталог, создаешь там каталог Meta-inf, в который записываешь файл Manifest.mf
Потом пакуешь все Commander-ом, только конечному файлу вместо расширения .zip задаешь рсширение .jar
0
mishgun
21.10.2009, 06:15 3
Попробуйте создать конструктор Metalworks() и все что вы написали в main перенести в него а в main написать new Metalworks().
1 / 1 / 0
Регистрация: 20.10.2009
Сообщений: 66
28.10.2009, 22:04  [ТС] 4
Спасибо за советы! Но опять-таки ничего не получается!
0
mishgun
29.10.2009, 04:53 5
Попробуйте запустить jar из-под коммандной строки если чего напишет скопируйте сюда попробуем разобраться.Но скажу сразу проблема в кода а не в создании джара я такой же командой создаю джар и все работает
4 / 4 / 4
Регистрация: 28.08.2008
Сообщений: 611
29.10.2009, 11:39 6
Открой свой jar winrar'ом, например. Внутри jar'а толжен быть единственный каталог -- META-INF, и больше никаких. Файлы классов должны лежать в корне архива. MANIFEST.MF -- ессно, в META-INF.

Запускать так: java -jar Metalworks.jar

Пиши сюда, как уже сказал mishgun, в точности то, что пишется на консоль.

Удачи )
0
1 / 1 / 0
Регистрация: 20.10.2009
Сообщений: 66
08.11.2009, 20:35  [ТС] 7
Делаю как сказали:

java -jar Metalworks.jar

Пишет:

Exception in thread 'main' java.lang.NoClassDefFoundError: Metalworks

Хотя в корне архива Metalworks.class присутствует...
0
4 / 4 / 4
Регистрация: 28.08.2008
Сообщений: 611
08.11.2009, 20:41 8
В файле MANIFEST.MF последняя строка должна юыть пустой. ОБЯЗАТЕЛЬНО!!! А лучше две ) Ждем ответа...
0
mishgun
08.11.2009, 21:33 9
Покажь код опять
1 / 1 / 0
Регистрация: 20.10.2009
Сообщений: 66
10.11.2009, 02:11  [ТС] 10
Показываю:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
import java.awt.*;
import javax.swing.*;
import javax.swing.border.*;
import javax.swing.plaf.metal.*;
 
public class Metalworks {
 
    public Metalworks() {
 
        JDialog.setDefaultLookAndFeelDecorated(true);
        JFrame.setDefaultLookAndFeelDecorated(true);
        Toolkit.getDefaultToolkit().setDynamicLayout(true);
        System.setProperty('sun.awt.noerasebackground','true');
 
        try {
            javax.swing.plaf.metal.MetalLookAndFeel.setCurrentTheme( new javax.swing.plaf.metal.DefaultMetalTheme());
            UIManager.setLookAndFeel('javax.swing.plaf.metal.MetalLookAndFeel');
        }  
        catch ( UnsupportedLookAndFeelException e ) {
            System.out.println ('Metal Look & Feel not supported on this platform. 
Program Terminated');
            System.exit(0);
        }
        catch ( IllegalAccessException e ) {
            System.out.println ('Metal Look & Feel could not be accessed. 
Program Terminated');
            System.exit(0);
        }
        catch ( ClassNotFoundException e ) {
            System.out.println ('Metal Look & Feel could not found. 
Program Terminated');
            System.exit(0);
        }   
        catch ( InstantiationException e ) {
            System.out.println ('Metal Look & Feel could not be instantiated. 
Program Terminated');
            System.exit(0);
        }
        catch ( Exception e ) {
            System.out.println ('Unexpected error. 
Program Terminated');
            e.printStackTrace();
            System.exit(0);
        }
        JFrame frame = new MetalworksFrame();
        frame.setContentPane(new NestedLayout());
        frame.pack();
        frame.setVisible(true);
  
    }
    public static void main( String[] args ) {
    new Metalworks();
    }
}
А вот манифест:

Manifest-Version: 1.0
Created-By: 1.4.0_01 (Sun Microsystems Inc.)
Main-Class: Metalworks

И строчки пустые были, и класс, а чей-то ему не то...
Кстати CLASSPATH определен так (для справки):
SET CLASSPATH =C:jdk1.4lib
Может че не так ?
0
mishgun
10.11.2009, 04:15 11
C:jdkin
4 / 4 / 4
Регистрация: 28.08.2008
Сообщений: 611
10.11.2009, 09:58 12
CLASSPATH в данном случае не играет никакой роли по нескольким причинам. У меня подозрение на то, что файлы компилируются под JDK1.4, а запускаются с JRE1.3. Формат файлов разный, поэтому JVM 1.3 не понимает их.

Заупсти java -version и нпокажи, что пишет )
0
1 / 1 / 0
Регистрация: 20.10.2009
Сообщений: 66
12.11.2009, 15:19  [ТС] 13
Пишет следующее:
java version '1.4.1_01'
Java(TM) 2 Runtime Environment, Standart Edition (build 1.4.1_01-b01)
Java HotSpot(TM) Client VM (build 1.4.1_01-b01, mixed mode)
0
1 / 1 / 0
Регистрация: 20.10.2009
Сообщений: 66
12.11.2009, 15:27  [ТС] 14
Да, и еще одно...
Когда из комстроки делаю javaw Metalworks все чуднекнько работает. Иногда, правда, в винду самому приходится переходить - это у неё по настроению....
0
mishgun
13.11.2009, 07:05 15
Praym mistika kakaya-to poluchaetsda.... Skolko raz zapuskal svoi staff vsyo rabotalo/Poprobuy esco odno Right Click->Open With->javaw.exe(esli ya ne oshibaus) Hotya i na 1.2.2 ina 1.3.1 i na 1.4.2 u menya vsyo rabotaet i bez etogo. Nichego ne ponimayu )))))))
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
13.11.2009, 07:05

Заказываю контрольные, курсовые, дипломные работы и диссертации здесь или здесь.

Как сделать исполняемый файл из проекта в Eclipse?
Написал пробную программку в Eclipse Как мне компилировать в исполняемый файл, чтобы запускалась...

Как сделать jar файл в IntelliJ IDEA
Как сделать jar файл именно из одного или нескольких классов или пакетов? Искал очень много в...

Как сделать .jar архив к телефону
META-INF\MANIFEST.MF уже сделал там прописал, чтоб открывался файл (1). Как можно сделать файл...

исполняемый JAR-файл
Имеется программа public class j413 { public static void main(String args) {...} } Создаю...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.