• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

question-closed Kompilacja aplikacji Kotlin do Jar.

Aruba Cloud - Virtual Private Server VPS
0 głosów
383 wizyt
pytanie zadane 29 kwietnia 2018 w Inne języki przez jegor377 Stary wyjadacz (13,230 p.)
zamknięte 29 kwietnia 2018 przez jegor377

Cześć! Napisałem sobie prostą aplikację w Intellij przy użyciu Kotlina i TornadoFX. Chcę sobie teraz zbuildować apkę, więc wszedłem File->Project Structure->Artifacts->+->JavaFx Application->From module wybrałem sobie ivo_main (projekt nazwałem ivo), wszedłem w JavaFx i wybrałem Application Class (guzik trzy kropki -> Choose Application Class) i w Search by Name jest informacja "Nothing to show". Wybrałem zakładkę Project i ivo/src/main/kotlin/com.company/app/MyApp.kt. W środku jest funkcja main, ale nie mogłem wybrać ani klasy ani funkcji, bo do niczego nie mogę wcisnąć ok.

https://zapodaj.net/e03a9632c5235.png.html

https://zapodaj.net/c42ea6723607f.png.html

Tak wygląda mój build.gradle

buildscript {
    ext.kotlin_version = '1.2.0'

    repositories {
        mavenLocal()
        mavenCentral()
    }
    dependencies {
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
    }
}

apply plugin: "kotlin"
apply plugin: 'application'

compileKotlin {
    kotlinOptions.jvmTarget = "1.8"
}

repositories {
    mavenLocal()
    mavenCentral()
    maven {
        url "https://oss.sonatype.org/content/repositories/snapshots/"
    }
}

dependencies {
    compile 'no.tornado:tornadofx:1.7.12'
    testCompile 'junit:junit:4.12'
    compile "org.jetbrains.kotlin:kotlin-stdlib-jre8:$kotlin_version"
}

mainClassName = 'com.company.app.MyApp'

jar {
    manifest {
        attributes(
                'Class-Path': configurations.compile.collect { it.getName() }.join(' '),
                'Main-Class': 'com.company.app.MyApp'
        )
    }
    from(configurations.compile.collect { entry -> zipTree(entry) }) {
        exclude 'META-INF/MANIFEST.MF'
        exclude 'META-INF/*.SF'
        exclude 'META-INF/*.DSA'
        exclude 'META-INF/*.RSA'
    }
}

A to MyApp:

package com.company.app

import com.company.view.MainView
import javafx.stage.Stage
import tornadofx.*

class MyApp: App(MainView::class, Styles::class) {
    override fun start(stage: Stage) {
        stage.minWidth = 800.0
        stage.minHeight = 500.0
        stage.isMaximized = true
        super.start(stage)
    }
}

fun main(args: Array<String>) = launch<MyApp>(args)

I chcę się was zapytać co mam zrobić, żeby zbuildować tę apkę. Mogę testować, ale nie mogę zbuildować jara.

A i to samo jest przy robieniu artifacta typu JAR. Nawet udało się tam wpisać ścieżkę z buildowania od testowania, ale jak zbuildowałem to nic mi się nie pokazało.

komentarz zamknięcia: Już naprawiłem.
komentarz 29 kwietnia 2018 przez Mariusz08 Maniak (62,280 p.)
Zły język bloczka z kodem
komentarz 29 kwietnia 2018 przez jegor377 Stary wyjadacz (13,230 p.)
Nie ma kotlina, nie wiem jaki wybrać. Wiesz może jak mi pomóc z tym problemem?
komentarz 29 kwietnia 2018 przez Mariusz08 Maniak (62,280 p.)
Oh, mój błąd; wydaje mi się, że kiedyś był...

1 odpowiedź

0 głosów
odpowiedź 29 kwietnia 2018 przez jegor377 Stary wyjadacz (13,230 p.)

Problem rozwiązany. Należy exportować odpowiednie biblioteki do outputu i podpiąć pod jar executable. Należy również w polu search by name wpisać myapp i samo znajdzie (przynajmniej powinno). Cały problem polegał na tym, że ide nie kompilowało mi tego jara, bo nie dałem mu tych całych available elements do outputu.
https://zapodaj.net/f07f2589f30db.png.html

Podobne pytania

0 głosów
0 odpowiedzi 409 wizyt
0 głosów
1 odpowiedź 1,569 wizyt
pytanie zadane 19 lutego 2017 w Java przez plkpiotr Stary wyjadacz (12,420 p.)
+1 głos
1 odpowiedź 791 wizyt

93,324 zapytań

142,323 odpowiedzi

322,389 komentarzy

62,653 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Wprowadzenie do ITsec, tom 1 Wprowadzenie do ITsec, tom 2

Można już zamawiać dwa tomy książek o ITsec pt. "Wprowadzenie do bezpieczeństwa IT" - mamy dla Was kod: pasja (użyjcie go w koszyku), dzięki któremu uzyskamy aż 15% zniżki! Dziękujemy ekipie Sekuraka za fajny rabat dla naszej Społeczności!

...