Исключение Groovy SwingBuilder() apple.awt.CToolkit

Я использую новейшую Mac OS X и создаю элемент GUI внутри файла Gradle. В настоящее время я использую jdk1.7.0_55 и импортировал groovy.swing.SwingBuilder, когда я запускаю проект, я получаю следующую ошибку:

java.awt.AWTError: «Инструментарий не найден: apple.awt.CToolkit

Я попытался запустить скрипт как безголовый сервер, используя System.setProperty('java.awt.headless', 'true')

Я хотел бы иметь решение, которое я мог бы включить непосредственно в файл проекта Gradle, вместо того, чтобы пытаться выяснить, что находится в моем файле accesibilities.properties (которого может не быть в конкретной системе, как и в моей системе).

Также проект должен использовать внутреннее решение, внешние библиотеки не допускаются.

Был бы очень признателен за любую помощь в этом вопросе.

Отредактировано: пример кода

gradle.taskGraph.whenReady { taskGraph ->
if(taskGraph.hasTask(':CustomApp:assembleRelease')) {

    def pass = ''
    if(System.console() == null) {
        new SwingBuilder().edt {       // Error occurs here.
            dialog(modal: true, 
                alwaysOnTop: true,
                resizable: false,
                locationRelativeTo: null,
                pack: true,
                show: true 
        )
            {
                vbox {
                    label(text: "Enter password:")
                    input = passwordField()
                    button(defaultButton: true, text: 'OK', actionPerformed: {
                        pass = input.password;
                        dispose();
                    })
                }
            }
        }
    }
}

person ahmad    schedule 07.07.2014    source источник


Ответы (2)


Я столкнулся с той же проблемой с Android Studio 0.8.6 и решил ее с помощью пользовательской установки gradle. Только что скачал gradle 1.12 и указал путь к нему в настройках.

person Renatus    schedule 22.09.2014
comment
Я попробую это сегодня и посмотрю, сработает ли это :) спасибо за ответ. - person ahmad; 22.09.2014
comment
Все еще получаю ту же ошибку java.awt.AWTError: "Toolkit not found: apple.awt.CToolkit... - person Sakiboy; 27.09.2014
comment
Попробовал ваше решение и не смог. К сожалению, никто не смог помочь в этом вопросе, буду признателен за любую помощь, которую может оказать любой. - person ahmad; 03.11.2014

Вопросу несколько лет, но со следующим файлом сборки gradle (который по сути такой же, как OP):

import groovy.swing.SwingBuilder

task doit {}

gradle.taskGraph.whenReady { taskGraph ->
  if(taskGraph.hasTask(doit)) {
      def pass = ''
      new SwingBuilder().edt {       // Error occurs here.
          dialog(modal: true, 
                 alwaysOnTop: true,
                 resizable: false,
                 locationRelativeTo: null,
                 pack: true,
                 show: true)
          { vbox 
            { label(text: "Enter password:")
              input = passwordField()
              button(defaultButton: true, text: 'OK', actionPerformed: {
                pass = input.password;
                dispose();
              })
            }
          }
      }
  }
}

выполнение:

~> gradle doit

приводит к следующему экрану:

введите здесь описание изображения

другими словами, по крайней мере, с этой версией gradle, операционной системы, java и т. д. это работает.

person Matias Bjarland    schedule 17.05.2018