не может компилировать приложение tornadofx в автономную банку

Я pretyy новичок в Kotlin и JVM в целом, я хотел бы скомпилировать приложение helloworld kotlin в отдельную банку, которая будет исполняться на клиентской машине (которая имеет JRE)

Я уверен, что я использую Java 1.8 с включенным JavaFx, у меня также есть следующие зависимости в pom.xml

<dependency> <groupId>no.tornado</groupId> <artifactId>tornadofx</artifactId> <version>1.7.14</version> </dependency> <build> <sourceDirectory>${project.basedir}/src</sourceDirectory> <plugins> <plugin> <artifactId>kotlin-maven-plugin</artifactId> <groupId>org.jetbrains.kotlin</groupId> <version>${kotlin.version}</version> <executions> <execution> <id>compile</id> <goals> <goal>compile</goal> </goals> </execution> <execution> <id>test-compile</id> <goals> <goal>test-compile</goal> </goals> </execution> </executions> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-assembly-plugin</artifactId> <version>2.6</version> <executions> <execution> <id>make-assembly</id> <phase>package</phase> <goals> <goal>single</goal> </goals> <configuration> <archive> <manifest> <mainClass>main.kt</mainClass> </manifest> </archive> <descriptorRefs> <descriptorRef>jar-with-dependencies</descriptorRef> </descriptorRefs> </configuration> </execution> </executions> </plugin> </plugins> </build> 

Выполнение следующих

kotlinc /home/denis/prg/java/kot/src/main.kt -include-runtime -d main.jar -jvm-target 1.8 дает

src/main.kt:3:8: error: unresolved reference: tornadofx

Кроме того, запуск maven clean package создает банку SNAPSHOT, но я не могу запустить его? .. Java дает Could not find or load main class main.kt

Как я могу сделать что-то пригодным для использования?

После сна и гуглинга я узнал!

Несмотря на то, что мой основной файл называется Main.kt , в манифесте обратите внимание, что файл должен быть вызван MainKt :

 <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-assembly-plugin</artifactId> <version>2.6</version> <executions> <execution> <id>make-assembly</id> <phase>package</phase> <goals> <goal>single</goal> </goals> <configuration> <archive> <manifest> <mainClass>MainKt</mainClass> </manifest> </archive> <descriptorRefs> <descriptorRef>jar-with-dependencies</descriptorRef> </descriptorRefs> </configuration> </execution> </executions> </plugin> 

Также я не был уверен, почему мне нужно использовать kotlinc с classpath, указывающим на javaFx.jar , и на самом деле я этого не делаю, поэтому у меня есть maven. Кроме того, используйте JDK 1.8.0_144 ( sdk use java 8u144-zulu )

Intereting Posts
Как я могу использовать базу данных пользовательского интерфейса Firebase с Kotlin Как запустить тесты Spek из командной строки? Котлинский эквивалент тернарного оператора Не удается найти целевое тело после запуска Jfinal веб-приложения с kotlin Kotlin: Как я могу назвать функцию расширения супер? Ожидаемое значение типа Boolean: всплывающее меню Почему у меня нет нулевой сцены? RequiresApi vs TargetApi андроид андроид smart cast невозможно, потому что экземпляр является изменяемым свойством Изменчивый двумерный массив в Котлине Как получить текущую локальную дату и время в Котлин Статические аналогичные методы в Android-приложении с kotlin KotlinNullPointerException: внутри onCreateOptionsMenu не удается найти searchView; андроид Царство превращает транзакцию в наблюдаемую Смарт-бросок в BootsrapButton невозможен, потому что endtrip является изменчивым свойством, которое к этому времени изменилось