gradle - 如何从 gradle 应用程序插件运行 clojure main

标签 gradle clojure clojure-java-interop

我有主要的 clojure file -

(ns main.main
  (:gen-class))

(defn -main
      "I don't do a whole lot ... yet."
      [& args]
      (println "Hello, World!"))

我已经build.gradle文件-

plugins {
    id 'dev.clojurephant.clojure' version '0.7.0-alpha.1'
    id 'application'
}

group 'org.example'
version '0.0.1-SNAPSHOT'
repositories {
    maven {
        name = 'Clojars'
        url = 'https://repo.clojars.org'
    }
    mavenCentral()
}


dependencies {
    implementation 'org.clojure:clojure:1.11.1'

    testRuntimeOnly 'org.ajoberstar:jovial:0.3.0'

    devImplementation 'org.clojure:tools.namespace:1.3.0'
    
    testImplementation 'org.junit.jupiter:junit-jupiter-api:5.8.1'
}

tasks.withType(Test) {
    useJUnitPlatform()
}

application {
    mainClassName("main.main")
}

现在我尝试使用命令 gradle run 运行 gradle 应用程序并遇到以下错误 -

Error: Could not find or load main class main.main

Caused by: java.lang.ClassNotFoundException: main.main

我尝试了更多应用程序配置,但没有成功 -


application {
    mainClass = "clojure.main"
    mainModule = "main.main"
}

mainClassmainModule 的正确值是多少。

最佳答案

终于可以用了。错过了下面config -

clojure {
  builds {
    main {
      aotAll()
    }
  }
}

关于gradle - 如何从 gradle 应用程序插件运行 clojure main,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/73161600/

相关文章:

types - 用于 Longs 的 Clojure 重载方法解析

clojure - 多行 Clojure 文档字符串

java - Gradle 4 Java 11

android-studio - Android Studio 从版本控制 : Google Cloud checkout

java - 上传多个 jar 以 repo gradle

clojure - 从 Clojure 调用一系列 Java 静态方法

clojure - 在 Clojure 中创建 Java 类的选项

android - 如何告诉 Gradle 在哪里搜索 Android 的支持库?

clojure - 如何使用 Figwheel 设置 Atom 编辑器以进行 clojurescript 开发?

clojure - 使用 clojure 将 EDN 文件读入 java 对象时如何避免打印对象哈希码