标签: uberjar

什么是超级罐?

我正在阅读Maven文档并且遇到了'uber-jar'这个名字.

优步罐的含义是什么?它的特性/优点是什么?

uberjar maven

227
推荐指数
4
解决办法
8万
查看次数

什么是胖JAR?

我听说有人说他们创建了一个胖JAR并进行部署.他们究竟是什么意思?

java jar uberjar

121
推荐指数
4
解决办法
6万
查看次数

使用Gradle构建具有依赖关系的jar

我有一个多项目构建,我在一个子项目中设置了一个任务来构建一个胖罐.我创建的任务类似于食谱中描述的任务.

jar {
  from configurations.compile.collect { it.isDirectory() ? it : zipTree(it) }
  manifest { attributes 'Main-Class': 'com.benmccann.gradle.test.WebServer' }
}
Run Code Online (Sandbox Code Playgroud)

运行它会导致以下错误:

原因:您无法更改未处于未解决状态的配置!

我不确定这个错误意味着什么.我还在Gradle JIRA上报告了这个问题,以防它出现问题.

uberjar gradle

108
推荐指数
9
解决办法
12万
查看次数

如何在IntelliJ IDEA中使用SBT构建Uber JAR(Fat JAR)?

我正在使用SBT(在IntelliJ IDEA中)构建一个简单的Scala项目.

我想知道构建Uber JAR文件(又名Fat JAR,Super JAR)的最简单方法是什么.

我目前正在使用SBT但是当我将我的JAR文件提交给Apache Spark时,我收到以下错误:

线程"main"中的异常java.lang.SecurityException:Manifest主要属性的签名文件摘要无效

或者在编译期间出现此错误:

java.lang.RuntimeException:deduplicate:在以下位置找到不同的文件内容:
PATH\DEPENDENCY.jar:META-INF/DEPENDENCIES
PATH\DEPENDENCY.jar:META-INF/MANIFEST.MF

看起来是因为我的一些依赖项包括需要在最终的Uber JAR文件中删除的签名文件(META-INF).

我尝试使用这样的sbt-assembly插件:

/project/assembly.sbt

addSbtPlugin("com.eed3si9n" % "sbt-assembly" % "0.12.0")
Run Code Online (Sandbox Code Playgroud)

/project/plugins.sbt

logLevel := Level.Warn
Run Code Online (Sandbox Code Playgroud)

/build.sbt

lazy val commonSettings = Seq(
  name := "Spark-Test"
  version := "1.0"
  scalaVersion := "2.11.4"
)

lazy val app = (project in file("app")).
  settings(commonSettings: _*).
  settings(
    libraryDependencies ++= Seq(
      "org.apache.spark" %% "spark-core" % "1.2.0",
      "org.apache.spark" %% "spark-streaming" % "1.2.0",
      "org.apache.spark" % "spark-streaming-twitter_2.10" % "1.2.0" …
Run Code Online (Sandbox Code Playgroud)

scala meta-inf intellij-idea uberjar sbt

85
推荐指数
3
解决办法
7万
查看次数

将发布合并到一个JAR文件的最简单方法

是否有一个工具或脚本可以轻松地将一堆JAR文件合并到一个JAR文件中?奖励是轻松设置主文件清单并使其可执行.

具体案例是Java重组文本工具.我想用以下的方式运行它:

java -jar rst.jar

据我所知,它没有依赖关系,表明它不应该是一个简单的单文件工具,但下载的ZIP文件包含很多库.

      0  11-30-07 10:01   jrst-0.8.1/
    922  11-30-07 09:53   jrst-0.8.1/jrst.bat
    898  11-30-07 09:53   jrst-0.8.1/jrst.sh
   2675  11-30-07 09:42   jrst-0.8.1/readmeEN.txt
 108821  11-30-07 09:59   jrst-0.8.1/jrst-0.8.1.jar
   2675  11-30-07 09:42   jrst-0.8.1/readme.txt
      0  11-30-07 10:01   jrst-0.8.1/lib/
  81508  11-30-07 09:49   jrst-0.8.1/lib/batik-util-1.6-1.jar
2450757  11-30-07 09:49   jrst-0.8.1/lib/icu4j-2.6.1.jar
 559366  11-30-07 09:49   jrst-0.8.1/lib/commons-collections-3.1.jar
  83613  11-30-07 09:49   jrst-0.8.1/lib/commons-io-1.3.1.jar
 207723  11-30-07 09:49   jrst-0.8.1/lib/commons-lang-2.1.jar
  52915  11-30-07 09:49   jrst-0.8.1/lib/commons-logging-1.1.jar
 260172  11-30-07 09:49   jrst-0.8.1/lib/commons-primitives-1.0.jar
 313898  11-30-07 09:49   jrst-0.8.1/lib/dom4j-1.6.1.jar
1994150  11-30-07 09:49   jrst-0.8.1/lib/fop-0.93-jdk15.jar
  55147  11-30-07 09:49   jrst-0.8.1/lib/activation-1.0.2.jar
 355030  11-30-07 …
Run Code Online (Sandbox Code Playgroud)

java merge restructuredtext jar uberjar

70
推荐指数
8
解决办法
7万
查看次数

gradle - 我如何用其他jar中的lib目录构建一个jar?

在gradle中 - 我如何在lib目录(特别是lib/enttoolkit.jar和lib/mail.jar)中的jar输出jar中嵌入jar?

jar uberjar gradle

63
推荐指数
6
解决办法
9万
查看次数

使用SBT创建独立jar

我是一个沉重的Maven用户,现在我逐渐将SBT用于我的一些项目.

我想知道如何使用SBT创建一个独立的Java项目?此项目应打包为JAR文件,此JAR文件将用作另一个SBT项目中的依赖项.

在Maven中,我可以告诉我pom.xml在构建它时应该生成什么类型​​的工件.在SBT中我能做些类似的事吗?

uberjar sbt

48
推荐指数
4
解决办法
5万
查看次数

用Gradle建立一个uberjar

我是Gradle新手.我想构建一个uberjar(AKA fatjar),它包含项目的所有传递依赖项.我需要在"build.gradle"中添加哪些行?

这就是我现在所拥有的:(我几天前从某处复制过,但不记得从哪里开始.)

task uberjar(type: Jar) {
    from files(sourceSets.main.output.classesDir)

    manifest {
        attributes 'Implementation-Title': 'Foobar',
                'Implementation-Version': version,
                'Built-By': System.getProperty('user.name'),
                'Built-Date': new Date(),
                'Built-JDK': System.getProperty('java.version'),
                'Main-Class': mainClassName
    }
}
Run Code Online (Sandbox Code Playgroud)

java groovy uberjar gradle

36
推荐指数
4
解决办法
4万
查看次数

是否可以使用自定义清单文件创建包含项目类和项目依赖项的"超级"jar作为jar?

我正在尝试创建一个包含项目类的可执行jar(使用maven),它是一个清单文件的依赖项,该文件包含主类的条目和指向jar根目录中包含的依赖项的类路径条目;像这样:

清单文件:

.....
Main-Class : com.acme.MainClass
Class-Path : dependecy1.jar dependecy2.jar
.....

罐:

jar-root
|-- ....
|-- com/acme/../*.class
|-- dependecy1.jar
`-- dependecy2.jar

我正在使用maven-jar-plugin来创建清单文件和maven-shade-plugin来创建"uber"jar,但依赖项被解压缩并作为类添加到我的jar中.

java build-process maven-2 uberjar maven-plugin

28
推荐指数
2
解决办法
3万
查看次数

Maven - 如何删除阴影 .jar 的 module-info.class 警告?

所以这是我的问题...

我正在使用 maven-shade 插件将 Spring Boot 应用程序打包到 uber jar 中。很简单吧?好吧,除了最近我在结尾处收到以下警告mvn clean package

[WARNING] Discovered module-info.class. Shading will break its strong encapsulation.

这实际上并没有破坏任何东西,但我是一个完美主义者,这让我发疯了吗?我该如何摆脱它?我尝试了很多东西,但没有成功。

请帮忙 :(

java uberjar maven maven-shade-plugin module-info

27
推荐指数
1
解决办法
9206
查看次数