我听说有人说他们创建了一个胖罐子并将其部署.它们到底是什么意思?

推荐答案

fat jar就是jar,它包含所有库中的类,项目依赖这些库,当然还有当前项目的类.

在不同的构建系统中,fat jar的创建方式不同,例如,在Gradle中,可以使用(instruction)创建它:

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
}

在Maven中是这样做的(在设置了常规jar之后):

<pluginRepositories>
   <pluginRepository>
        <id>onejar-maven-plugin.googlecode.com</id>
        <url>http://onejar-maven-plugin.googlecode.com/svn/mavenrepo</url>
   </pluginRepository>

<plugin>
    <groupid>org.dstovall</groupid>
    <artifactid>onejar-maven-plugin</artifactid>
    <version>1.4.4</version>
    <executions>
        <execution>
            <configuration>
                <onejarversion>0.97</onejarversion>
                <classifier>onejar</classifier>
            </configuration>
            <goals>
                <goal>one-jar</goal>
            </goals>
        </execution>
   </executions>
</plugin>

Java相关问答推荐

在Java中使用带限制的回归打印星形三角形

内容处置 destruct 了PSP请求

Android -如何修复Java.time.zone. ZoneRulesExcept:未知时区ID:Europe/Kyiv

如何转换Tue Feb 27 2024 16:35:30 GMT +0800 String至ZonedDateTime类型""

如何粘合(合并)文件Lucene?

neo4j java驱动程序是否会在错误发生时自动回滚事务?

为什么使用JDK21获取锁定锁比使用JDK11慢

我正在try 跟踪数组中最大的两个数字

Java Mooc.fi Part 12_01.Hideout -返回和删除方法

在执行流和相关操作时,使用Java泛型为2个方法执行相同的操作,但对象不同

如何创建模块信息类文件并将其添加到JAR中?

从LineChart<;字符串、字符串和gt;中删除数据时出现特殊的ClassCastException;

如何获得凌空cookies ,并设置它在下一个请求- android

通过Java列表中的某些字段搜索值

S数学.exp的相同错误保证也适用于StrictMath.exp吗?

有没有办法知道在合并中执行了什么操作?

Java集合:NPE,即使没有添加空值

JavaFX复杂项目体系 struct

在Java Spring JPA中插入包含对其他实体的引用的列

[jdk21][Foreign Function&;Memory API]MemoryLayout::varHandle通过可变数组进行 struct 化的问题