Gradle Project строится из командной строки, но завершается неудачно при запуске той же команды через конфигурацию запуска Intellij и / или кнопку «обновить» gradle - PullRequest
0 голосов
/ 11 октября 2018

У меня есть проект gradle в Intellij.Одна из моих заданий gradle создает файл jar, а затем развертывает его в удаленном хранилище, защищенном паролем.

На днях я добавил JFrame, который выскакивает при развертывании, чтобы развертываемое лицо могло вводить свои учетные данные.

Вчера все работало нормально, когда я пришелсегодня я заметил, что мой проект больше не будет собираться, когда я нажал кнопку «обновить» на вкладке gradle в intellij, более того, если я создам конфигурации прогона gradle с build jar deploy, так как аргументы команды gradle не могут быть собраны с этимисключение: java.awt.HeadlessException

странно то, что когда я запускаю gradlew.bat build jar deploy или просто gradlew.bat build из терминала, приложение собирается и запускается, как и ожидалось.

"обновление" и запуск выполнениявчера конфигурация работала так, как задумано, поэтому я не уверен, что могло измениться, чтобы вызвать это новое поведение.

Вот соответствующий код из скрипта сборки. У меня есть все правильные импорта

deploy { 
    publish {
        repository {
            def font1 = new Font("SansSerif", Font.BOLD, 30)
            def frame = new JFrame("Please Enter All Fields")
            frame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
            JPanel jp1 = new JPanel()
            JLabel jl1 = new JLabel("User Name")
            jl1.setFont(font1)
            jp1.setLayout(new BoxLayout(jp1, BoxLayout.Y_AXIS))
            def userField = new JTextField("")
            userField.setFont(font1)
            jp1.add(jl1)
            jp1.add(userField)
            jp1.setPreferredSize(new Dimension(200, 100))
            JPanel jp0 = new JPanel()
            JLabel jl0 = new JLabel("Password")
            jl0.setFont(font1)
            jp0.setLayout(new BoxLayout(jp0, BoxLayout.Y_AXIS))
            def passField = new JPasswordField()
            passField.setFont(font1)
            jp0.add(jl0)
            jp0.add(passField)
            jp0.setPreferredSize(new Dimension(200, 100))
            def enterButton = new JButton("Enter")
            def finished = false
            enterButton.addActionListener(new ActionListener() {
                @Override
                void actionPerformed(ActionEvent e) {
                    finished = true
                }
            })
            frame.getContentPane().setLayout(new GridLayout(3, 3))
            frame.getContentPane().add(jp1)
            frame.getContentPane().add(jp0)
            frame.getContentPane().add(enterButton)
            frame.pack()
            frame.setVisible(true)
            while(!finished){
                contextUrl = "REDACTED"
                repoKey = "REDACTED"
                username = userField.getText()
                password = passField.getText()
                maven = true
            }
        }

        defaults {
            publications("mavenJava")
        }
    }
}

Остальная часть сценария сборки просто захватывает зависимости и тому подобное.Я сомневаюсь, что это будет актуально, но если вам нужно увидеть больше файла сборки, дайте мне знать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...