Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/308.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何在gradle项目中创建单个可执行jar_Java_Gradle_Build.gradle_Executable Jar - Fatal编程技术网

Java 如何在gradle项目中创建单个可执行jar

Java 如何在gradle项目中创建单个可执行jar,java,gradle,build.gradle,executable-jar,Java,Gradle,Build.gradle,Executable Jar,我在我的应用程序中使用的是带有jdk 8的gradle 6.2版本,它在build/libs/目录下构建了2个jar文件。如何在应用程序中创建单个可执行jar 我的身材,格雷德尔先生 plugins { id 'com.google.cloud.tools.jib' version '2.2.0' id 'application' id 'java' } repositories { mavenLocal() mavenCentral() jcenter()

我在我的应用程序中使用的是带有jdk 8的gradle 6.2版本,它在build/libs/目录下构建了2个jar文件。如何在应用程序中创建单个可执行jar

我的身材,格雷德尔先生

plugins {
  id 'com.google.cloud.tools.jib' version '2.2.0'
  id 'application'
  id 'java'
}

repositories {
    mavenLocal()
    mavenCentral()
    jcenter()
}

jib.to.image = 'gcr.io/' + project.property('gcpProjectId') + '/my-application'
jib.container.creationTime = 'USE_CURRENT_TIMESTAMP'

mainClassName = "com.foo.Myapplication"

jar {
  manifest { 
    attributes "Main-Class": "$mainClassName"
  }  

  from {
    configurations.runtimeClasspath.collect { it.isDirectory() ? it : zipTree(it) }
  }
}
plugins {
  id 'com.google.cloud.tools.jib' version '2.2.0'
}

repositories {
    mavenLocal()
    mavenCentral()
    jcenter()
}

jib.to.image = 'gcr.io/' + project.property('gcpProjectId') + '/my-application'
jib.container.creationTime = 'USE_CURRENT_TIMESTAMP'

jar {
  manifest { 
    attributes 'Main-Class': 'com.foo.Myapplication'
  }  

  from {
    configurations.runtimeClasspath.collect { it.isDirectory() ? it : zipTree(it) }
  }
}
创建的Jar文件:

ls -ltr build/libs/
total 31184
-rw-r--r-- 1  user 15986229 Jun  9 20:22 my-application-1.0.0.jar
-rw-r--r-- 1  user 15942345 Jun  9 20:22 my-application-1.0.0-all.jar
为什么在执行“gradle clean build”时创建-all.jar? 我怎么了?
请提供您对此的想法。

似乎正是您所需要的。它与Gradle的
应用程序
插件具有互操作性。

我能够在修改构建后构建一个jar。Gradle喜欢以下内容:

格雷德尔先生

plugins {
  id 'com.google.cloud.tools.jib' version '2.2.0'
  id 'application'
  id 'java'
}

repositories {
    mavenLocal()
    mavenCentral()
    jcenter()
}

jib.to.image = 'gcr.io/' + project.property('gcpProjectId') + '/my-application'
jib.container.creationTime = 'USE_CURRENT_TIMESTAMP'

mainClassName = "com.foo.Myapplication"

jar {
  manifest { 
    attributes "Main-Class": "$mainClassName"
  }  

  from {
    configurations.runtimeClasspath.collect { it.isDirectory() ? it : zipTree(it) }
  }
}
plugins {
  id 'com.google.cloud.tools.jib' version '2.2.0'
}

repositories {
    mavenLocal()
    mavenCentral()
    jcenter()
}

jib.to.image = 'gcr.io/' + project.property('gcpProjectId') + '/my-application'
jib.container.creationTime = 'USE_CURRENT_TIMESTAMP'

jar {
  manifest { 
    attributes 'Main-Class': 'com.foo.Myapplication'
  }  

  from {
    configurations.runtimeClasspath.collect { it.isDirectory() ? it : zipTree(it) }
  }
}

你能发布一下吗,你尝试过什么,没有成功的是什么?我需要运行“java-jarmy-application-1.0.0.jar”。我不需要创建“my-application-1.0.0-all.jar”