Tag: 可执行文件jar

无法运行jar文件。 (错误:无法find或加载主类co.pissarra.Mainkt)

我正在尝试使用spark和kotlin创建一个小型web服务器。 但是我被卡在了应该能够创建项目的jar并从命令行运行的步骤中。 但是在运行java -jar pissarra-core-all-1.0-SNAPSHOT.jar出现以下错误 Error: Could not find or load main class co.pissarra.Mainkt 我尝试使用intellij想法的工件创建没有成功,并转移到使用build.gradle创建jar。 以下是相同的代码 task fatJar(type: Jar) { manifest { attributes ‘Implementation-Version’: version, ‘Main-Class’: ‘co.pissarra.Mainkt’ } baseName = project.name + ‘-all’ from { configurations.compile.collect { it.isDirectory() ? it : zipTree(it) } } with jar } 在运行./gradlew clean之后./gradlew fatJar ,我可以在build/libs/目录下创建jar文件。 这个jar也给出了同样的错误。 在提取jar文件的时候,我可以看到目录结构co/pissarra/里面有Mainkt.class文件。 它也有META-INF目录和MANIFEST.MF文件,其内容如下 Manifest-Version: […]

当我将它导出到可运行jar文件时,kotlin出现Javafx错误

我尝试使用kotlin编写javafx应用程序。 在将它导出到可运行jar之后,我双击jar文件,但是它不起作用。 但是,如果我使用Java,一切都可以。 例如:通过IDEA 2017.2.5创建一个新的javafx项目。选择File-Project Structure,然后点击JavaFX标签,Native bundle选择all。然后应用设置。 在这里输入图像说明 然后选择Build-Build Artifact-Build。 在这里输入图像说明 我可以运行它。一切都好。 在这里输入图像说明 但是当我使用kotlin并且做和java一样的事情时。 当我在IDEA中运行它时,一切正常。 码: package sample import javafx.application.Application import javafx.fxml.FXMLLoader import javafx.scene.Parent import javafx.scene.Scene import javafx.stage.Stage class Main : Application() { @Throws(Exception::class) override fun start(primaryStage: Stage) { val root = FXMLLoader.load(javaClass.getResource(“sample.fxml”)) primaryStage.title = “Hello World” primaryStage.scene = Scene(root, 300.0, 275.0) primaryStage.show() } companion […]

如何使用Ktor Kotlin / Java应用程序中的gradle构建有效的JAR文件

我一直在试图为我的Kotlin / Java Ktor项目创建一个可执行的JAR。 用我的gradle脚本创建实际的JAR很简单,但无论如何,我不能为我的生活弄清楚如何通过错误消息:“JAR文件:无法find主类路由。主键”。 我的Kotlin主函数位于包路由中名为Main.kt的文件中。 下面是我的gradle文件。 我究竟做错了什么? buildscript { ext.kotlin_version = ‘1.2.21’ ext.ktorVersion = ‘0.9.0’ repositories { mavenCentral() } dependencies { classpath “org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version” } } apply plugin: ‘java’ apply plugin: ‘kotlin’ sourceCompatibility = 1.8 compileKotlin { kotlinOptions.jvmTarget = “1.8” } compileTestKotlin { kotlinOptions.jvmTarget = “1.8” } kotlin { experimental { coroutines “enable” } } […]

不能用Gradle和Kotlin运行生成的JAR文件

我有一个配置了Gradle和Kotlin的项目。 这是一个命令行工具,我想能够从我的终端运行生成的jar。 但是,我得到以下错误: Exception in thread “main” java.lang.NoClassDefFoundError: kotlin/jvm/internal/Intrinsics at com.autentia.impt.MainKt.main(Main.kt) Caused by: java.lang.ClassNotFoundException: kotlin.jvm.internal.Intrinsics at java.net.URLClassLoader.findClass(URLClassLoader.java:381) at java.lang.ClassLoader.loadClass(ClassLoader.java:424) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:338) at java.lang.ClassLoader.loadClass(ClassLoader.java:357) … 1 more 我的gradle配置如下: buildscript { ext.kotlin_version = ‘1.2.20’ ext.junit_platform_version = ‘1.0.1’ ext.junit_version = ‘5.0.0’ ext.moshi_version = ‘1.5.0’ ext.jna_version = ‘4.5.0’ repositories { mavenCentral() } dependencies { classpath “org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version” classpath “org.junit.platform:junit-platform-gradle-plugin:$junit_platform_version” } […]

Kotlin代码编译为Jar以用于Java Project?

我已经在Kotlin中编写了一个Java库,我想将它编译成Java和Kotlin应用程序可用的jar。 这个想法是,jar应该能够在Java项目和Kotlin项目上工作。 做一个简单的./gradlew clean assemble生成一个jar,当我检查jar时,我可以看到几个导入不包含在普通的Java应用程序也不能访问的jar中: import jet.runtime.typeinfo.JetValueParameter; import kotlin.jvm.internal.Intrinsics; import kotlin.jvm.internal.KotlinClass; import kotlin.jvm.internal.KotlinClass.Kind; import kotlin.jvm.internal.KotlinSyntheticClass; import kotlin.jvm.internal.KotlinSyntheticClass.Kind; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; 我怎么能包括在jar中的上述依赖项? 现在这个jar子只有30kb。 我宁愿不必包含整个Kotlin运行时,但只能在使用的组件中编译。

Kotlin:运行jar时缺少驱动程序的例外

我试图连接基于gradle的kotlin应用程序到mssql数据库(通过模块hikari&hibernate fw)。 当我在IDE(intellij Idea)中运行kotlin应用程序时,一切工作正常,但是当我通过gradlew编译它时,它会抛出exception,它缺少驱动程序,我不知道如何将它嵌入到jar中。 我尝试了谷歌搜索,发现有关将驱动程序添加到jar的类路径的东西,但没有运气。 尝试驱动程序编译组:’net.sourceforge.jtds’,名称:’jtds’,版本:’1.3.1′在依赖关系,但没有运气。 具有数据库处理程序的模块具有build.gradle apply plugin: ‘java’ apply plugin: ‘kotlin’ sourceCompatibility = 1.8 targetCompatibility = 1.8 ext { kotlinVersion = ‘1.1.50’ jUnitVersion = ‘4.12’ jacksonVersion = ‘2.8.6’ networkntVersion = ‘0.1.7’ jsoupVersion = ‘1.10.3’ slf4jVersion = ‘1.7.21’ elasticSearchVersion = ‘5.6.5’ hikariCpVersion = ‘2.6.1’ hibernateVersion = ‘5.2.10.Final’ redisVersion = ‘2.9.0’ mysqlVersion = ‘6.0.6’ jtdsVersion […]

在MANIFEST.MF中将Kotlin类指定为Main-Class入口点?

我如何明确告诉shadowJar使用Kotlin文件作为生成的uberJar的入口点? (或者,你喜欢胖胖的JAR 。) 笨拙地编辑META-INF/MANIFEST.MF并将其替换为zip文件(使用GUI将其放回): thufir@dur:~/NetBeansProjects/kotlin/build/libs$ thufir@dur:~/NetBeansProjects/kotlin/build/libs$ ll total 900 drwxrwxr-x 2 thufir thufir 4096 Nov 5 03:42 ./ drwxrwxr-x 8 thufir thufir 4096 Nov 5 03:42 ../ -rw-rw-r– 1 thufir thufir 903184 Nov 5 03:42 kotlinAdder.jar thufir@dur:~/NetBeansProjects/kotlin/build/libs$ thufir@dur:~/NetBeansProjects/kotlin/build/libs$ jar xf kotlinAdder.jar thufir@dur:~/NetBeansProjects/kotlin/build/libs$ thufir@dur:~/NetBeansProjects/kotlin/build/libs$ ll total 928 drwxrwxr-x 7 thufir thufir 4096 Nov 5 03:42 ./ […]

将Kotlin .class文件打包到JAR中执行

在关于“Kotlin – 编译并从Windows命令行运行”的教程之后,有一个缺失的清单: thufir@dur:~/kotlin$ thufir@dur:~/kotlin$ ll total 32 drwxr-xr-x 2 thufir thufir 4096 Oct 27 08:29 ./ drwx—— 46 thufir thufir 16384 Oct 27 08:03 ../ -rw-r–r– 1 thufir thufir 107 Oct 27 08:29 HelloWorld.kt thufir@dur:~/kotlin$ thufir@dur:~/kotlin$ kotlinc HelloWorld.kt -include-runtime -d HelloWorld.jar WARNING: An illegal reflective access operation has occurred WARNING: Illegal reflective access by […]

将Kotlin .class文件打包到JAR中执行

在关于“Kotlin – 编译并从Windows命令行运行”的教程之后,有一个缺失的清单: thufir@dur:~/kotlin$ thufir@dur:~/kotlin$ ll total 32 drwxr-xr-x 2 thufir thufir 4096 Oct 27 08:29 ./ drwx—— 46 thufir thufir 16384 Oct 27 08:03 ../ -rw-r–r– 1 thufir thufir 107 Oct 27 08:29 HelloWorld.kt thufir@dur:~/kotlin$ thufir@dur:~/kotlin$ kotlinc HelloWorld.kt -include-runtime -d HelloWorld.jar WARNING: An illegal reflective access operation has occurred WARNING: Illegal reflective access by […]

使用特定软件包时无法找到或加载主类

我需要使用browsermob-proxy 。 我的项目可以从IDE运行,但是当我通过gradle构建它并在我的gradle配置文件中添加compile 'net.lightbody.bmp:browsermob-core:2.1.4' ,jar被成功构建(没有任何错误) ,但是主要功能没有加载: #gradle clean jar #java -jar build/proxy-0.1.jar “错误:无法找到或加载主类myproject.MainKt” 如果我将这个实用程序添加到我现有的包(可以构建并运行为一个胖罐子),它不能建立。 我究竟做错了什么? 是否有可能是browsermob-proxy中的错误? 谢谢。 我的gradle文件如下: group 'proxy' version '0.1' buildscript { ext.kotlin_version = '1.1.3' repositories { mavenCentral() } dependencies { classpath group: 'org.jetbrains.kotlin', name: 'kotlin-gradle-plugin', version: kotlin_version classpath 'org.junit.platform:junit-platform-gradle-plugin:1.0.0-M6' } } apply plugin: 'kotlin' apply plugin: 'java' apply plugin: 'org.junit.platform.gradle.plugin' repositories { […]