fundplatform/assembly/assembly.xml
zhangjf a4aa4b4156 feat: 优化打包方式为普通JAR+依赖分离
- pom.xml:
  - 添加finalName配置去除版本号
  - maven-jar-plugin排除资源文件
  - 禁用spring-boot-maven-plugin repackage
  - 各服务移除冗余的plugin配置

- assembly.xml:
  - 主JAR放根目录(仅服务代码)
  - lib目录放依赖JAR

- start.sh:
  - 支持java -cp classpath模式启动
  - 从service.properties读取MAIN_CLASS
  - 向后兼容fat jar模式

- service.properties:
  - 所有服务添加MAIN_CLASS配置

优势:
- 主JAR从131MB缩小到103KB
- 多服务部署可共享lib目录
- 资源文件外置便于修改
2026-02-22 20:22:27 +08:00

71 lines
2.4 KiB
XML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<assembly>
<id>bin</id>
<formats>
<format>tar.gz</format>
</formats>
<includeBaseDirectory>true</includeBaseDirectory>
<fileSets>
<!-- bin目录 - 启动脚本引用根目录scripts -->
<fileSet>
<directory>${project.basedir}/../scripts</directory>
<outputDirectory>bin</outputDirectory>
<includes>
<include>start.sh</include>
<include>stop.sh</include>
<include>restart.sh</include>
<include>status.sh</include>
</includes>
<fileMode>0755</fileMode>
</fileSet>
<!-- conf目录 - 环境变量配置 -->
<fileSet>
<directory>${project.basedir}/../scripts</directory>
<outputDirectory>conf</outputDirectory>
<includes>
<include>env.properties</include>
</includes>
<fileMode>0644</fileMode>
</fileSet>
<!-- conf目录 - 配置文件排除docker相关 -->
<fileSet>
<directory>src/main/resources</directory>
<outputDirectory>conf</outputDirectory>
<includes>
<include>application.yml</include>
<include>logback-spring.xml</include>
<include>bootstrap.yml</include>
<include>service.properties</include>
</includes>
<excludes>
<!-- 排除docker相关配置 -->
<exclude>application-docker.yml</exclude>
<exclude>bootstrap-docker.yml</exclude>
</excludes>
<fileMode>0644</fileMode>
</fileSet>
</fileSets>
<!-- 主JAR文件放到根目录只包含服务代码不包含资源和依赖 -->
<files>
<file>
<source>${project.build.directory}/${project.artifactId}.jar</source>
<outputDirectory>/</outputDirectory>
<destName>${project.artifactId}.jar</destName>
<fileMode>0644</fileMode>
</file>
</files>
<!-- lib目录 - 所有依赖JAR不包含项目自身 -->
<dependencySets>
<dependencySet>
<outputDirectory>lib</outputDirectory>
<useProjectArtifact>false</useProjectArtifact>
<scope>runtime</scope>
<fileMode>0644</fileMode>
</dependencySet>
</dependencySets>
</assembly>