Я использовал Intellij UI Designer для создания форм для проекта. Все работает хорошо, когда я строю с идеей, так как он обрабатывает формы для меня, но, поскольку мы недавно переключились на использование Gradle для сборки, еще не было возможности создать исполняемый файл JAR.
Мой гугл-фу привел меня к нескольким постам, объясняющим, что для компиляции нужен скрипт ant (например, link, link2, link3, и тот, который я закончил следующим: link4)
Мой проект - многомодульная установка.
root build.gradle
subprojects {
apply plugin: 'java'
apply plugin: 'idea'
repositories {
mavenCentral()
}
}
суперпроект build.gradle
apply plugin:'application'
mainClassName = "dk.OfferFileEditor.OfferFileEditorProgram"
configurations {
antTask
}
dependencies {
compile 'org.json:json:20140107'
compile project(":Shared:HasOffers Api")
//dependencies for java2c
antTask files('../../lib/javac2-13.1.1.jar', '../../lib/asm4-all-13.1.1-idea.jar', '../../lib/forms_rt-13.1.1.jar')
antTask group: 'org.jdom', name: 'jdom', version: '1.1'
}
task compileJava(overwrite: true, dependsOn: configurations.compile.getTaskDependencyFromProjectDependency(true, 'jar')) {
doLast {
println 'using java2c to compile'
project.sourceSets.main.output.classesDir.mkdirs()
ant.taskdef name: 'javac2', classname: 'com.intellij.ant.Javac2', classpath: configurations.antTask.asPath
ant.javac2 srcdir: project.sourceSets.main.java.srcDirs.join(':'),
classpath: project.sourceSets.main.compileClasspath.asPath,
destdir: project.sourceSets.main.output.classesDir,
source: sourceCompatibility,
target: targetCompatibility,
includeAntRuntime: false
}
}
Но даже если компиляция прошла успешно, исключение Nullpointer выдается при первом обращении к одному из полей, созданных конструктором пользовательского интерфейса. Так что что-то не правильно компилируется.
Я, вероятно, пропускаю некоторые настройки, но после безуспешного вливания нескольких часов в форумы и Google, я все еще не нашел никакого решения.