使用Gradle为源代码生成jar

问题描述

我正在尝试为Gradle项目的源代码生成jar文件。 我正在使用Gradle 6.6.1 我尝试过

task fatJar2(type: Jar) {
  manifest {
    attributes 'Main-Class': 'com.main.MainClass'
  }
  archiveClassifier = "all"
  from {
    configurations.compile.collect { it.isDirectory() ? it : zipTree(it) }
    configurations.runtimeClasspath.collect { it.isDirectory() ? it : zipTree(it) }
    }
  with jar
}

这给了我以下错误

C:\api_test_restassured_nickt>gradle :fatJar2 > Task :compileJava Failed ^ Note: Some input files use unchecked or unsafe operations. Note: Recompile with -Xlint:unchecked for details. 100 errors FAILURE: Build Failed with an exception. * What went wrong: Execution Failed for task ':compileJava'. > Compilation Failed; see the compiler error output for details. BUILD Failed in 2s 1 actionable task: 1 executed 

太长了。但是它显示了所有与另一个仓库(框架)有关的软件包列表。我要为其构建JAR的测试存储库取决于框架。

下面是我的build.gradle类

/*
 * This build file was auto generated by running the Gradle 'init' task
 * at '1/28/16 10:33 AM' with Gradle 2.9
 *
 * This generated file contains a sample Java project to get you started.
 * For more details take a look at the Java Quickstart chapter in the Gradle
 * user guide available at https://docs.gradle.org/2.9/userguide/tutorial_java_projects.html
 */

apply plugin: 'java'

sourceCompatibility = 8

targetCompatibility = 8



task fatJar(type: Jar) {

    manifest {

        attributes 'tests': 'Gradle Jar'
    }
    
      from {
        configurations.compile.collect { it.isDirectory() ? it : zipTree(it) }
    }

    baseName = project.name

    with jar

}

task fatJar2(type: Jar) {
  manifest {
    attributes 'Main-Class': 'com.main.MainClass'
  }
  archiveClassifier = "all"
  from {
    configurations.compile.collect { it.isDirectory() ? it : zipTree(it) }
    configurations.runtimeClasspath.collect { it.isDirectory() ? it : zipTree(it) }
    }
  with jar
}

repositories {

    jcenter()

    mavenCentral()

    flatDir {

       dirs 'libs'

   }

}

task copyDependencies(type: copy) {
   from configurations.compile   
   into 'dependenciesTestRepo'
}

dependencies {

    compile 'org.testng:testng:6.9.10'

    compile group: 'com.jayway.restassured',name: 'rest-assured',version:'2.9.0'
    
    compile group: 'com.opencsv',name: 'opencsv',version: '5.2'

    implementation "javax.xml.bind:jaxb-api:2.2.11"

    implementation "com.sun.xml.bind:jaxb-core:2.2.11"

    implementation "com.sun.xml.bind:jaxb-impl:2.2.11"

    implementation "javax.activation:activation:1.1.1" 

}

如果我使用Eclipse导出到Jar文件,则可以完美运行。因此,基本上,我需要做的是在命令行中执行Eclipse具有的Export to JAR功能。 关于如何生成此jar文件的任何想法?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)