V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
liian2019
V2EX  ›  Java

springboot 打包插件问题

  •  
  •   liian2019 · 2021-01-06 11:17:22 +08:00 · 1786 次点击
    这是一个创建于 1446 天前的主题,其中的信息可能已经有所发展或是发生改变。
    默认 springboot 打包插件会打出一个可运行 jar 和一个可依赖 jar 。
    现在想要可运行 jar 包含资源文件,而可依赖 jar 不包含资源文件。这样有办法实现吗
    5 条回复    2021-01-06 15:46:21 +08:00
    qwerthhusn
        1
    qwerthhusn  
       2021-01-06 11:22:22 +08:00
    有个笨方法,不知可用不可用,引入 groovy plugin,然后写 groovy 脚本处理 original jar 包
    jar 包是 zip 的打包方式,直接用 zip 的方式解压开,去掉不要的文件,再压缩
    liian2019
        2
    liian2019  
    OP
       2021-01-06 11:32:21 +08:00
    @qwerthhusn 谢谢你,这样有点麻烦了,想看看能不能直接通过 pom 的配置来实现
    wolfie
        3
    wolfie  
       2021-01-06 13:41:07 +08:00
    liian2019
        4
    liian2019  
    OP
       2021-01-06 15:45:56 +08:00
    已找到解决方案,贴上配置供大家参考
    <build>
    <resources>
    <resource>
    <directory>src/main/resources</directory>
    <filtering>true</filtering>
    <excludes>
    <exclude>environment/**</exclude>
    <exclude>static/**</exclude>
    </excludes>
    </resource>
    <resource>
    <directory>src/main/resources/environment/${environment}</directory>
    <filtering>true</filtering>
    </resource>
    </resources>
    <plugins>
    <plugin>
    <artifactId>maven-jar-plugin</artifactId>
    <executions>
    <execution>
    <id>lib</id>
    <phase>package</phase>
    <goals>
    <goal>jar</goal>
    </goals>
    <configuration>
    <classifier>lib</classifier>
    <excludes>
    <exclude>*.yml</exclude>
    <exclude>*.xml</exclude>
    </excludes>
    </configuration>
    </execution>
    </executions>
    </plugin>
    <plugin>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-maven-plugin</artifactId>
    <configuration>
    <excludeGroupIds>org.projectlombok</excludeGroupIds>
    </configuration>
    </plugin>
    </plugins>
    </build>

    第三方项目依赖时需要加入 classifier 标签
    <dependency>
    <groupId>com.bangdao</groupId>
    <artifactId>mkplat-admin</artifactId>
    <version>${mkplat.version}</version>
    <classifier>lib</classifier>
    </dependency>
    liian2019
        5
    liian2019  
    OP
       2021-01-06 15:46:21 +08:00
    @wolfie 谢谢你,通过 maven-jar-plugin 解决了
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2871 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 29ms · UTC 14:18 · PVG 22:18 · LAX 06:18 · JFK 09:18
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.