Различие заключается в том, что вы говорите: если вы просто хотите запускать приложения, вы можете установить только среду выполнения.
Если вы хотите создавать приложения, вы можете установить SDK, который также включает среду выполнения.
На сайте это действительно выглядит так, как будто оба ссылаются на один и тот же пакет: https://dotnet.microsoft.com/download/linux-package-manager/rhel/sdk-current https://dotnet.microsoft.com/download/linux-package-manager/rhel/runtime-current
Либо они перепутали инструкции, либо они просто предлагают одну.
Глядя на Dockerfile
для контейнера среды выполнения RHEL dotnet, вы можете увидеть шаги, необходимые только для установки среды выполнения:
Пакет для среды выполнения только выглядит как rh-dotnet22-dotnet-runtime-2.2
, но я не знаком с RHEL, поэтому не могу скажу тебе, все ли это тебе нужно.
РЕДАКТИРОВАТЬ: Обновлена ссылка с вкладом от Омаир Маджид
Вы перекрашивали () после установки текста маркировки?
Так или иначе не необходимо обычно решаться выполнять долгую операцию на потоке события GUI. Изучите использование a SwingWorker
вместо этого.
Необходимо будет запустить отдельный поток для выполнения процесса. Код, который Вы используете для выполнения его, может главным образом просто быть введен в поток (или Runnable
) run()
метод, как, но установить текст в JLabel, необходимо использовать что-то вроде этого:
...
while ((line = input.readLine()) != null) {
SwingUtilities.invokeLater(new SetTextRunnable(jLabel1, line));
}
...
class SetTextRunnable implements Runnable {
private String line;
private JLabel jLabel1
public SetTextRunnable(JLabel jLabel1, String line) {
this.jLabel1 = jLabel1;
this.line = line;
}
public void run() {
jLabel1.setText(line);
}
}
Править: просто замеченный что-то: по-видимому, класс SwingWorker
был разработан для этого вида вещи, таким образом, это - другая опция для Вас (если это существует в Вашей версии Java).
РЕДАКТИРОВАНИЕ к РЕДАКТИРОВАНИЮ: настолько глупый меня, я не заметил SwingWorker
был уже упомянут в другом ответе.
В дополнение к тому, какие другие сказали о многопоточности это - Вы также захотите считать поток сообщений об ошибках дочернего процесса. Я полагаю, что (в некоторых случаях), если Вы не истощаете поток сообщений об ошибках для процесса, он мог бы заставить это зависать.