Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Java программирование > Общие вопросы по Java, Java SE, Kotlin
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 12.10.2018, 14:34   #11
KAMLS
Форумчанин
 
Регистрация: 09.04.2017
Сообщений: 598
По умолчанию

Я наверное не очень точно задал вопрос. Существует ли возможность настройки реестра такая, что двойным щелчком можно будет запускать jar файлы как консольные так и с GUI?
И если существует, то почему не ставится эта возможность по умолчанию? В чем такая надобность именно так?
KAMLS вне форума Ответить с цитированием
Старый 12.10.2018, 15:19   #12
Black Fregat
Программист
Участник клуба
 
Аватар для Black Fregat
 
Регистрация: 23.06.2009
Сообщений: 1,772
По умолчанию

Цитата:
Сообщение от KAMLS Посмотреть сообщение
Я запускал. В диспетчере задач нигде нет.
Если создать побочный эффект, то видно. что запускается.
Вот такой класс, например, вполне создаёт файл по двойному щелчку из jar
Код:
import java.io.*;

public class ConsoleTrest{
  public static void main(String[] args) {
    System.out.println("Starting..");
    try {
      PrintWriter writer = new PrintWriter("the-file-name.txt", "UTF-8");
      writer.println("The first line");
      writer.println("The second line");
      writer.close();
    }
    catch (Exception e) {
    }
    System.out.println("Done!");
  }
}
Black Fregat вне форума Ответить с цитированием
Старый 12.10.2018, 15:24   #13
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,695
По умолчанию

Цитата:
Сообщение от KAMLS Посмотреть сообщение
И если существует, то почему не ставится эта возможность по умолчанию? В чем такая надобность именно так?
Вам же в данной теме уже три раза объяснили: кликами больше запускают гуи приложения, большинству гуи приложений не нужно (да и пользователям тоже), чтобы рядом с каждым экземпляром еще и консоль болтыхалась.
p51x на форуме Ответить с цитированием
Старый 12.10.2018, 15:43   #14
KAMLS
Форумчанин
 
Регистрация: 09.04.2017
Сообщений: 598
По умолчанию

То, что кликами запускают GUI-приложения, я знал до создания этой темы. Потом вы сказали как можно кликами запускать консольные JAR-файлы. надо в реестре подправить.
Вообще, при изучении java по видеоурокам, я понял что не принято миксовать программу с выводом и в консоль и в GUI.
Стало быть, если кто так сделает, то это его проблемы.
Моя логика такая, что если миксовать не принято, то рядом с GUI не будет бултыхаться консоль. Если будет, то такая программа ущербна по вине программиста который её и намиксовал.
Отсюда и возник вопрос, если можно подправить реестр так, чтобы консоль выводилась по двойному клику, то почему бы не сделать сразу это и для GUI и для консольных программок, одновременно для двух типов?
Чтобы всё работало как для нормальных exe файлов.
Вот если JAR файл не исполняемый, а как я читал библиотечный либо что еще, ну тут другое дело.
KAMLS вне форума Ответить с цитированием
Старый 12.10.2018, 16:10   #15
Black Fregat
Программист
Участник клуба
 
Аватар для Black Fregat
 
Регистрация: 23.06.2009
Сообщений: 1,772
По умолчанию

Вы не понимаете. Консоль или создаётся или не создаётся. До запуска jar.
Как предлагается определить заранее, будет ли этому jar нужна консоль?

Вообще, как Вам уже писали, запуск консольных приложений из GUI - это плохо.
Потому что как минимум Вам надо будет остановить приложение, чтобы консоль не закрылась сразу после завершения
Black Fregat вне форума Ответить с цитированием
Старый 12.10.2018, 17:28   #16
KAMLS
Форумчанин
 
Регистрация: 09.04.2017
Сообщений: 598
По умолчанию

Цитата:
Сообщение от Black Fregat Посмотреть сообщение
Вы не понимаете.
Я понимаю, что я не понимаю.
Поэтому и пытаюсь понять.
Беру аналогию из возможностей С++.
Там у меня есть в результате создания проекта в VS файл exe.
GUI в С++ еще не делал, но полагаю - возможно.
Так вот, запуская там файл exe запускающий консольное приложение -у меня на мониторе будет консольное приложение.
Запуская файл exe c GUI у меня будет исполняться приложение с GUI.
Понимаете МОЮ логику? Я её не навязываю, не говорю что она единственно правильная, или даже что она вообще правильная. Я так вижу. По фактам происходящего.
Возник вопрос после того, как я лабу языка java c GUI запустил двумя кликами.
А консольное приложение JAVA так не смог, смог только через командную строку.
Мне сказали, подправишь в реестре - сможешь.
Возник вопрос - если можно подправив реестр запускать консольное приложение jar файла кликами, то почему не сделать такую возможность для сразу двух вариантов:
jar-консольное приложение.
jar-GUI приложение.
Вот и всё моё непонимание.
Далее.
Цитата:
Сообщение от Black Fregat Посмотреть сообщение
Вообще, как Вам уже писали, запуск консольных приложений из GUI - это плохо.
Вы о том, что будет запускаться консольное приложение из GUI операционной системы? (А то я подумал, что речь идёт о запуске консоли из GUI программы лабы)
Но exe С++ лаб по С++ запускали консоль и ничего.
KAMLS вне форума Ответить с цитированием
Старый 12.10.2018, 17:55   #17
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

В Java можно ехе собрать с помощью Launch4j и т.п.
Запуск почти всего остального в винде зависит от ассоциации.
Цитата:
Сообщение от KAMLS Посмотреть сообщение
почему не сделать такую возможность для сразу двух вариантов
Видимо никому это не надо, и так норм.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 12.10.2018, 18:10   #18
KAMLS
Форумчанин
 
Регистрация: 09.04.2017
Сообщений: 598
По умолчанию

Ну вот это уже понятно.)
KAMLS вне форума Ответить с цитированием
Старый 12.10.2018, 23:00   #19
Black Fregat
Программист
Участник клуба
 
Аватар для Black Fregat
 
Регистрация: 23.06.2009
Сообщений: 1,772
По умолчанию

Цитата:
Сообщение от KAMLS Посмотреть сообщение
Так вот, запуская там файл exe запускающий консольное приложение -у меня на мониторе будет консольное приложение.
Запуская файл exe c GUI у меня будет исполняться приложение с GUI.
Дело в том, что в заголовке PE файла прописан тип подсистемы (Console или GUI)
Поэтому загрузчик знает, нужно ли создавать консоль
Black Fregat вне форума Ответить с цитированием
Старый 13.10.2018, 05:24   #20
KAMLS
Форумчанин
 
Регистрация: 09.04.2017
Сообщений: 598
По умолчанию

Цитата:
Сообщение от Black Fregat Посмотреть сообщение
Дело в том, что в заголовке PE файла прописан тип подсистемы (Console или GUI)
Поэтому загрузчик знает, нужно ли создавать консоль
Я посмотрел что такое PE.
Отсюда возник вопрос, почему в Oracle не сделали такую возможность для jar-файлов? Вопрос конечно гипотетический)) Вам то откуда знать?
KAMLS вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Запуск JAR файлов CraZZy RabbIt Общие вопросы Delphi 8 04.05.2012 23:29
запуск файлов Михаил Юрьевич Общие вопросы Delphi 7 27.03.2012 01:41
Запуск jar revanatar Общие вопросы по Java, Java SE, Kotlin 4 22.10.2011 20:01
Запуск файлов workres Win Api 3 02.07.2008 21:56
Запуск файлов программы d_slava Помощь студентам 2 17.06.2008 11:22