У меня есть проект 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")
}
}
}
Остальная часть сценария сборки просто захватывает зависимости и тому подобное.Я сомневаюсь, что это будет актуально, но если вам нужно увидеть больше файла сборки, дайте мне знать.