草庐IT

ShadowJar

全部标签

java - 在同一个构建文件中执行 gradle shadowjar 任务两次

我正在尝试使用ShadowJar插件创建两个“fatJars”作为同一构建文件的一部分。我试图通过声明ShadowJar类型的两个任务在构建中运行shadowJar任务两次到目前为止,我已经定义了两个任务:taskshadowjar_one(type:com.github.jengelman.gradle.plugins.shadow.tasks.ShadowJar)taskshadowjar_two(type:com.github.jengelman.gradle.plugins.shadow.tasks.ShadowJar)现在尝试像这样创建我的jar:shadowjar_one{

java - Heroku Java 应用程序在本地崩溃但在网络上没有

我有我的主课:publicclassMain{publicstaticvoidmain(String[]args){Spark.port(getHerokuAssignedPort());get("/hello",(req,res)->"HelloHerokuWorld");}privatestaticintgetHerokuAssignedPort(){ProcessBuilderprocessBuilder=newProcessBuilder();if(processBuilder.environment().get("PORT")!=null){returnInteger.par

java - 如何让 gradle ShadowJar 任务也创建其子项的源代码和 javadoc?

我有一个包含8个子项目的gradle项目和一个配置的shadowjar任务来创建一个“所有”jar。顶层项目设置为对其所有子项目具有依赖性,这告诉shadowjar要包含的内容:project(':'){dependencies{compileproject(':jfxtras-agenda')compileproject(':jfxtras-common')compileproject(':jfxtras-controls')compileproject(':jfxtras-icalendarfx')compileproject(':jfxtras-icalendaragenda')

java - 如何编写 Gradle 脚本以将 shadowjar 发布到 Artifactory

我在我的java项目中使用shadowJar。我想将结果插入人工制品。我的gradle脚本看起来像这样,我不确定如何连接这些点:shadowJar{baseName='com.mycompany.myapp'manifest{attributes'Main-Class':'myapp.starter'}}]applyplugin:'java'applyplugin:'idea'applyplugin:'maven'applyplugin:'com.github.johnrengelman.shadow'//repfortheprojectrepositories{mavenCentra

gradle - 什么是 .kotlin_builtins 文件,我可以从我的 uberjars 中省略它们吗?

我正在为一个用Kotlin编写的应用程序将proguard集成到我的gradle构建中。我发现proguard正在剥离Kotlin标准库(在我的简单HelloWorld程序中应该如此),但它在我的jar中留下了一堆文件扩展名为.kotlin_builtins的文件。当我配置我的gradle任务以排除这些文件时,该程序似乎仍然可以正常工作。这些文件是什么,它们必须与我的可执行uberjar一起提供吗?这是我的build.gradle文件的内容供引用:buildscript{ext.kotlin_version='1.0.5'ext.shadow_version='1.2.4'reposi

gradle - 什么是 .kotlin_builtins 文件,我可以从我的 uberjars 中省略它们吗?

我正在为一个用Kotlin编写的应用程序将proguard集成到我的gradle构建中。我发现proguard正在剥离Kotlin标准库(在我的简单HelloWorld程序中应该如此),但它在我的jar中留下了一堆文件扩展名为.kotlin_builtins的文件。当我配置我的gradle任务以排除这些文件时,该程序似乎仍然可以正常工作。这些文件是什么,它们必须与我的可执行uberjar一起提供吗?这是我的build.gradle文件的内容供引用:buildscript{ext.kotlin_version='1.0.5'ext.shadow_version='1.2.4'reposi

gradle - 如何使用 gradle 脚本 Kotlin 构建文件构建可运行的 ShadowJar?

最简单的KotlinhelloworldforgradlescriptKotlin:thufir@dur:~/github/gradleScriptKotlin$thufir@dur:~/github/gradleScriptKotlin$gradlecleanshadowJar;java-jarbuild/libs/gradleScriptKotlin.jar>Task:compileKotlinUsingKotlinincrementalcompilation>Task:shadowJarAproblemwasfoundwiththeconfigurationoftask':sha

java - Gradle 中的 uberJar、fatJar 和 shadowJar 有什么区别?

我试图了解什么时候应该使用哪个。我知道它们都组装了所有依赖类,但是它们之间有什么不同呢? 最佳答案 这些术语有时可以互换使用,但通常指的是:Fatjar(也称为Uberjar)-用于描述一个jar,该jar中的所有依赖jar中的类都直接压缩在正确的目录结构中,而不是在其他jar里。有很好的解释here.Shadedjar(或shadedclasses)——通常是指改变classes字节码以改变classes的包名的过程,并且也修改它在jar中的使用。它用于将类链接到其他类的特定版本并避免版本冲突。它可以由MavenShadePlug

java - Gradle 中的 uberJar、fatJar 和 shadowJar 有什么区别?

我试图了解什么时候应该使用哪个。我知道它们都组装了所有依赖类,但是它们之间有什么不同呢? 最佳答案 这些术语有时可以互换使用,但通常指的是:Fatjar(也称为Uberjar)-用于描述一个jar,该jar中的所有依赖jar中的类都直接压缩在正确的目录结构中,而不是在其他jar里。有很好的解释here.Shadedjar(或shadedclasses)——通常是指改变classes字节码以改变classes的包名的过程,并且也修改它在jar中的使用。它用于将类链接到其他类的特定版本并避免版本冲突。它可以由MavenShadePlug

gradle - 如何更改使用 shadowjar 创建的 jar 的名称

我正在使用shadowJar插件来构建/创建我的fatJar。在我的build.gradle我有这个shadowJar{mergeServiceFiles('META-INF/spring.*')exclude"META-INF/*.SF"exclude"META-INF/*.DSA"exclude"META-INF/*.RSA"exclude"META-INF/LICENSE"}使用gradleshadowJar创建我的fatjar。然而,创建的胖jar的名称是sample-SNAPSHOT-ns.r100-all.jar。我想将其更改为sample-SNAPSHOT-ns.r100
12