簡體   English   中英

如何在intellij indea中創建一個Groovy項目的jar

[英]how to create jar of a groovy project in intellij indea

我已經使用intellij想法中的工件創建了一個groovy項目的jar,在項目設置中添加了groovy lib。 但是當我運行那個罐子時發生以下異常

Exception in thread "main" java.lang.NoClassDefFoundError: groovy/lang/GroovyObject
    at java.lang.ClassLoader.defineClass1(Native Method)
    at java.lang.ClassLoader.defineClass(Unknown Source)
    at java.security.SecureClassLoader.defineClass(Unknown Source)
    at java.net.URLClassLoader.defineClass(Unknown Source)
    at java.net.URLClassLoader.access$100(Unknown Source)
    at java.net.URLClassLoader$1.run(Unknown Source)
    at java.net.URLClassLoader$1.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at sun.launcher.LauncherHelper.checkAndLoadMain(Unknown Source)
Caused by: java.lang.ClassNotFoundException: groovy.lang.GroovyObject
    at java.net.URLClassLoader$1.run(Unknown Source)
    at java.net.URLClassLoader$1.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    ... 13 more

可能是創建jar的問題。 如何在intellij Idea中創建常規項目的jar。

使用Intellij Idea中的gradle支持。

  1. 如下所述, 在Intellij Idea中為您的項目提供了第一個有效的gradle支持https : //www.jetbrains.com/idea/help/working-with-gradle-projects.html

  2. 將您的源移動到默認的gradle目錄樹 groovy源文件必須移至src/main/groovy/... ,而測試源應移至src/test/groovy/... (PS:您可以將gradle配置為在默認目錄之外的其他目錄中查找源,但是移動源更容易,更安全)。

    在此處輸入圖片說明

    在屏幕截圖中,您可以看到Java源代碼的目錄樹。 您改用groovy

  3. 比在項目的根目錄中添加gradle構建文件

    基本的gradle文件(必須命名為build.gradle)如下所示:

      buildscript { repositories { mavenCentral() } dependencies {} } apply plugin: 'groovy' apply plugin: 'java' apply plugin: 'idea' jar { baseName = 'your_project_name' version = '0.1.0' manifest { attributes("Build-Time": new Date().format("yyyy-MM-dd HH:mm:ss"), "Build-Jdk": System.getProperty("java.version"), "Built-By": System.getProperty("user.name"), "Created-By": "Gradle", ) } } repositories { mavenCentral() } // java version dependency sourceCompatibility = 1.7 targetCompatibility = 1.7 dependencies { // your local jar dependency compile files('./lib/your_jar.jar') // groovy compile 'org.codehaus.groovy:groovy-all:2.1.9' //other useful dependencies compile 'log4j:log4j:1.2.17' testCompile group: 'junit', name: 'junit', version: '4.11' } task wrapper(type: Wrapper) { gradleVersion = '2.3' } 
  4. 現在使用Intellij中的gradle插件 在此處輸入圖片說明

  5. Wenn Intellij完成構建后,您可以在build/libs/your_project_name.jar找到您的可執行jar。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM