Spring с Swing Integration Failed, java.awt.HeadlessException, BeanCreationException, BeanInstantiationException .SPRING BOOT [duplicate]

Вам нужно будет отформатировать строку после чтения имени таблицы, например:

static String queryCreateTable = "CREATE TABLE {0}" +
                                 "(ID INTEGER not NULL ," +
                                 "BRAND VARCHAR(40)," +
                                 "MODEL VARCHAR(40)," +
                                 "YEAR INTEGER not NULL," +
                                 "NOVELTY BINARY," +
                                 "PRIMARY KEY ( ID ))";

, а затем создать как:

newNameOfTable = JOptionPane.showInputDialog("Connected for saving data. " +
                            "Input name of new table:");

statement = connection.createStatement();
statement.execute(MessageFormat.format(queryCreateTable, newNameOfTable));
1
задан Vicky 15 January 2009 в 00:04
поделиться

5 ответов

У апплетов будет сложная работа на стороне сервера. Они предназначены для работы внутри контейнера, такого как веб-браузер. Исключение получается наиболее вероятно, потому что апплет пытается нарисовать его GUI - и сервер не поддерживает эту поддержку. Я удивлен, что он работал в JDK 1.4 - я не знаю, что изменилось между двумя версиями, которые повлияли бы на это.

0
ответ дан Arcane 19 August 2018 в 04:51
поделиться

Возможно, вы используете что-то в своем Java-коде, который не может работать в безголовой системе, такой как графические компоненты (объекты Swing, изображения и т. д.). Некоторые из этих компонентов, вместо того, чтобы напрямую обрабатывать Java, обрабатываются базовой платформой (само ядро ​​Windows или сервером X-Window в Unix). Таким образом, повышается общая производительность приложения.

Итак, вопрос в том, хорошо, если он работал на Java 1.4, почему он не работает на 1,5? Моя ставка, учитывая повышение производительности, поскольку Java 1.2, которую Swing получила с течением времени, заключается в том, что Sun переместила управление некоторыми графическими объектами на уровень ОС для повышения производительности. Поэтому, если вы не можете придерживаться 1.4, тогда вы должны пересмотреть свой код.

Эта хорошая статья поможет вам понять, как изменить ваше приложение, чтобы сделать его безголовым.

1
ответ дан Fernando Miguélez 19 August 2018 в 04:51
поделиться
-Djava.awt.headless=false

добавить выше в ваш сценарий запуска Tomcat. он будет работать на 100%

2
ответ дан Makky 19 August 2018 в 04:51
поделиться
  • 1
    В сценарии запуска tomcat, в какой строке я хочу добавить это? – Sabarish 28 November 2013 в 13:51
  • 2
    где угодно. – Makky 28 November 2013 в 14:01
  • 3
    Я добавил его и получил исключение, подобное java.lang.InternalError: Can't connect to X11 window server using ':0.0' as the value of the DISPLAY variable. Любые предложения по этому поводу? – Sabarish 28 November 2013 в 14:06

Возможно, вам также придется установить библиотеки x11 или хотя бы явно экспортировать путь к ним.

/ usr / X11R6 / lib

0
ответ дан Nathan 19 August 2018 в 04:51
поделиться

Нечетно .. вы пытаетесь запустить апплет (предположим, вы говорите о подклассе java.awt.Applet) внутри tomcat? Как правило, это не сработает, потому что нет отображения на дисплее апплета.

Предполагая, что вы не хотите, чтобы апплет отображался в любом месте, и вы просто хотите выполнить часть его программно, вы можете которые можно получить с помощью виртуального X-сервера, такого как Xvfb или Xvnc. После запуска Xvfb или Xvnc на вашем хосте, работающем с tomcat, вы можете попробовать установить DISPLAY внутри сценариев запуска tomcat, чтобы использовать отображение виртуального X-сервера.

2
ответ дан Suppressingfire 19 August 2018 в 04:51
поделиться
  • 1
    +1, потому что это, кажется, ответ, который Вики признает, решил проблему. – Brandon DuRette 19 January 2009 в 22:49
Другие вопросы по тегам:

Похожие вопросы: