maven: maven-assembly-plugin

maven-assembly-plugin 是 Maven 的一个插件,用于将项目打包成一个可执行的分发包或者自定义的归档文件。通过该插件,可以将项目的依赖、资源文件等打包在一起,方便部署和传播。

要在 Maven 项目中使用 maven-assembly-plugin,需要在项目的 pom.xml 文件中进行配置。以下是一个简单的示例配置:

cpp 复制代码
<build>
    <plugins>
        <plugin>
            <artifactId>maven-assembly-plugin</artifactId>
            <version>3.3.0</version> <!-- 版本号根据需要调整 -->
            <configuration>
                <descriptorRefs>
                    <descriptorRef>jar-with-dependencies</descriptorRef>
                </descriptorRefs>
                <archive>
                    <manifest>
                        <mainClass>com.example.MainClass</mainClass> <!-- 替换为你的主类名 -->
                    </manifest>
                </archive>
            </configuration>
            <executions>
                <execution>
                    <phase>package</phase>
                    <goals>
                        <goal>single</goal>
                    </goals>
                </execution>
            </executions>
        </plugin>
    </plugins>
</build>

在上面的示例配置中,maven-assembly-plugin 被配置为在打包阶段将项目打包成带有所有依赖的可执行 JAR 文件,并指定了主类。执行 mvn package 命令后,将生成一个包含所有依赖的 JAR 文件。

除了 jar-with-dependencies,maven-assembly-plugin 还支持其他的打包配置,如创建自定义的归档文件、拷贝额外文件等。你可以根据实际需求进行相应的配置。

相关推荐
考虑考虑2 小时前
JDK26中的Map.ofLazy
java·后端·java ee
鶴哥只手遮天5 小时前
Spring AI 2.0.1 深度解析-第 14 章 MCP 服务端(上):注解式实现与工具来源
java·人工智能·开源
鶴哥只手遮天5 小时前
Spring AI 2.0.1 深度解析-第 15 章 MCP 服务端(下):三种协议形态、Streamable 传输与状态管理
java·人工智能·开源
鶴哥只手遮天5 小时前
Spring AI 2.0.1 深度解析-第 16 章 向量存储(上):`VectorStore` 接口体系、`BatchingStrategy`
java·人工智能·开源
鶴哥只手遮天5 小时前
Spring AI 2.0.1 深度解析-第 12 章 工具循环的流式形态、Usage 累加与扩展体系
java·人工智能·开源
鶴哥只手遮天5 小时前
Spring AI 2.0.1 深度解析-第 23 章 模型供应商实现:从 `OpenAiSetup` 到 Bedrock
java·人工智能·开源
鶴哥只手遮天5 小时前
Spring AI 2.0.1 深度解析-第 06 章 内置 Advisor 全景:13 个实现逐个剖到源码级
java·人工智能·开源
鶴哥只手遮天5 小时前
Spring AI 2.0.1 深度解析-第 03 章 消息体系与 Prompt:不可变模型、`ChatOptions` 与模板渲染
java·人工智能·开源
鶴哥只手遮天5 小时前
Spring AI 2.0.1 深度解析-第 24 章 生产实践与 2.x 迁移:陷阱清单、AOT 与调优
java·人工智能·开源
鶴哥只手遮天5 小时前
Spring AI 2.0.1 深度解析-第 10 章 工具调用(中):执行链路、结果转换与工具限制
java·人工智能·开源