Dmi*_*urg 88
胖jar是jar,它包含所有库中的类,您的项目依赖于它们,当然还包括当前项目的类.
在不同的构建系统中,fat jar的创建方式不同,例如,在Gradle中,可以使用(指令)创建它:
task fatJar(type: Jar) {
manifest {
attributes 'Main-Class': 'com.example.Main'
}
baseName = project.name + '-all'
from { configurations.compile.collect { it.isDirectory() ? it : zipTree(it) } }
with jar
}
Run Code Online (Sandbox Code Playgroud)
在Maven中,它是以这种方式完成的(在设置常规jar之后):
<pluginRepositories>
<pluginRepository>
<id>onejar-maven-plugin.googlecode.com</id>
<url>http://onejar-maven-plugin.googlecode.com/svn/mavenrepo</url>
</pluginRepository>
Run Code Online (Sandbox Code Playgroud)
MeT*_*TeO 13
胖jar或超级jar是一个jar,它包含所有项目类文件和资源以及它的所有依赖项.有不同的方法来实现这种效果:
下面的示例程序集插件配置jar-with-dependencies:
<project>
...
<build>
...
<plugins>
<plugin>
<!-- NOTE: We don't need a groupId specification because the group is
org.apache.maven.plugins ...which is assumed by default.
-->
<artifactId>maven-assembly-plugin</artifactId>
<version>2.6</version>
<configuration>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
<classifier
</configuration>
...
</project>
Run Code Online (Sandbox Code Playgroud)
Sri*_*bat 10
在可执行jar的情况下,另一种思考胖jar的方法是你可以通过调用来执行:
java -jar myFatLibrary.jar
Run Code Online (Sandbox Code Playgroud)
无需-cp/ --classpath,甚至双击jar图标.
瘦 –仅包含您实际在代码编辑器中键入的位,而没有其他内容。
瘦 –包含以上所有内容以及应用对应用的直接依赖关系(数据库驱动程序,实用程序库等)。
空心 –薄的反面–仅包含运行应用程序所需的位,但不包含应用程序本身。基本上是预先打包的“应用服务器”,您可以稍后将应用部署到该服务器,其风格与传统Java EE应用服务器相同,但有一些重要区别。
脂肪/尤伯杯 -包含位您字面上写自己PLUS您的应用程序的直接依赖PLUS为“自身”运行你的应用程序所需的位。
资料来源:Dzone的文章
| 归档时间: |
|
| 查看次数: |
58263 次 |
| 最近记录: |