- pom.xml: 移除finalName配置,JAR保留版本号 - assembly.xml: 主JAR放入lib目录(useProjectArtifact=true) - start.sh: 简化启动逻辑 - ClassPath统一为 lib/* - 无需单独匹配主JAR文件名 - 只需配置MAIN_CLASS即可启动 优势: - 主JAR带版本号便于版本识别和升级 - 所有JAR统一放lib目录,结构清晰 - 启动脚本更简洁,无需APP_NAME匹配JAR
61 lines
2.1 KiB
XML
61 lines
2.1 KiB
XML
<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>
|
||
|
||
<!-- lib目录 - 所有JAR(包含项目自身和所有依赖) -->
|
||
<dependencySets>
|
||
<dependencySet>
|
||
<outputDirectory>lib</outputDirectory>
|
||
<useProjectArtifact>true</useProjectArtifact>
|
||
<scope>runtime</scope>
|
||
<fileMode>0644</fileMode>
|
||
</dependencySet>
|
||
</dependencySets>
|
||
</assembly>
|