nutzam / nutzboot

NutzBoot,简称NB,是可靠的企业级微服务框架,提供自动配置,嵌入式web服务,分布式会话,服务治理,负载均衡,hystrix,RPC等一篮子解决方案
https://nutz.io
Apache License 2.0
497 stars 138 forks source link

NB打包成fatjar的缺陷 #303

Open juqkai opened 3 months ago

juqkai commented 3 months ago

在NbApp中有以下代码: Enumeration _en = ctx.getClassLoader().getResources("META-INF/nutz/org.nutz.boot.starter.NbStarter"); 会默认读取每个JAR包里面的【META-INF/nutz/org.nutz.boot.starter.NbStarter】文件。 当项目被打包成单一jar时,会导致【META-INF/nutz/org.nutz.boot.starter.NbStarter】被覆盖,从而导致只有一个starter会被加载,其它starter都会丢失。

<plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-assembly-plugin</artifactId>
                <configuration>
                    <finalName>${project.name}</finalName>
                    <appendAssemblyId>false</appendAssemblyId>
                    <descriptorRefs>
                        <descriptorRef>jar-with-dependencies</descriptorRef>
                    </descriptorRefs>
                    <archive>
                        <manifest>
                            <mainClass>webapp.HelloApp</mainClass>
                        </manifest>
                    </archive>
                </configuration>
                <executions>
                    <execution>
                        <id>make-assembly</id>
                        <phase>package</phase>
                        <goals>
                            <goal>single</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>