Size: a a a

2020 February 06

R

Roman in learn.java
Всем привет подскажите плиз. Я только сегодня начал учить джаву и вот трабл. Есть код:

package qwe;

class Main {
 public static void main(String[] args) {
   System.out.println("Hello world!");
 }
}

делаю javac qwe/Main.java
потом jar cvf asd.jar qwe/Main.class
потом java -jar asd.jar и получаю: no main manifest attribute, in asd.jar
Вопрос почему в архиве asd.jar в файле META-INF/MANIFEST.MF не прописывается автоматом "Main-Class: qwe.Main"?
Как сделать что бы при создании jar архива в MANIFEST.MF прописывался Main-Class
источник

R

Roman in learn.java
все как бы работает, но самый главный вопрос: Как сделать что бы при создании jar архива в MANIFEST.MF прописывался Main-Class

а то как то тупо получается. я jar собрал и потом вручную захожу в него от прописываю главный класс

думаю я что-то делаю не так
источник

DS

Dmitriy Shilnikov in learn.java
Roman
Всем привет подскажите плиз. Я только сегодня начал учить джаву и вот трабл. Есть код:

package qwe;

class Main {
 public static void main(String[] args) {
   System.out.println("Hello world!");
 }
}

делаю javac qwe/Main.java
потом jar cvf asd.jar qwe/Main.class
потом java -jar asd.jar и получаю: no main manifest attribute, in asd.jar
Вопрос почему в архиве asd.jar в файле META-INF/MANIFEST.MF не прописывается автоматом "Main-Class: qwe.Main"?
Как сделать что бы при создании jar архива в MANIFEST.MF прописывался Main-Class
А почему он должен прописываться? У тебя может быть несколько методов main.
источник

R

Roman in learn.java
То есть это нормальная практика открывать архив вручную и прописывать главный класс?
источник

DS

Dmitriy Shilnikov in learn.java
Roman
То есть это нормальная практика открывать архив вручную и прописывать главный класс?
Ну руками джарники никто не делает всё равно
источник

DS

Dmitriy Shilnikov in learn.java
Используют системы сборки
источник

R

Roman in learn.java
Dmitriy Shilnikov
Ну руками джарники никто не делает всё равно
ну я понимаю что есть gradle и maven но я хочу прям с азов начать
источник

R

Roman in learn.java
Roman
То есть это нормальная практика открывать архив вручную и прописывать главный класс?
Это норм да?
источник

DS

Dmitriy Shilnikov in learn.java
Ну так создавай манифест вручную )
источник

R

Roman in learn.java
а ок понял)
источник

DS

Dmitriy Shilnikov in learn.java
jar options jar-file [manifest-file] class-files...
источник

DS

Dmitriy Shilnikov in learn.java
Т.е. ты же можешь манифест подложить
источник

R

Roman in learn.java
[manifest-file] смысле MANIFEST.MF и он сам упакуется в папку META-INF а эта папка в  .jar?
источник

DS

Dmitriy Shilnikov in learn.java
Ну справка говорит, что да
источник

R

Roman in learn.java
понял спс)
источник

DS

Dmitriy Shilnikov in learn.java
Есть ещё  -m, --manifest=FILE        Include the manifest information from the given
                            manifest file
источник

R

Roman in learn.java
а где взять правку?
источник

R

Roman in learn.java
дашь ссылку?
источник

DS

Dmitriy Shilnikov in learn.java
Можешь его попробовать
источник

DS

Dmitriy Shilnikov in learn.java
Roman
а где взять правку?
))) jar —help )
источник