微服务下多模块打包找不到类和符号项目可以启动,打包编译运行就报错的问题

出现多模块打包找不到类和符号的问题?

maven-compiler-plugin和spring-boot-maven-plugin 这俩个插件是我们微服务打包常用到的

1,每个模块配置了spring-boot-maven-plugin 打出来的包都是独立的,即使你clean install 都一样。

2,idea工具有时候打包会出问题,最好的解决办法是通过命令去编译项目打包。

3,启动的项目配置打包。比如我们有三个maven模块:parent,service,server。其中server是一个可以启动的springboot项目,其他模块都是作为jar包引入到server模块中使用的,这时候,我们只能在server模块中引入spring-boot-maven-plugin插件,将api项目打成可执行jar。其余项目都只使用maven-compiler-plugin。这样找不到类的问题就解决了。
微服务下多模块打包找不到类和符号项目可以启动,打包编译运行就报错的问题_第1张图片

server 的pom.xm


    
    
        
            local
            
                local
            
            
                true
            
        
        
            dev
            
                dev
            
        
        
            test
            
                test
            
        
        
            uat
            
                uat
            
        
        
            prod
            
                prod
            
        
    
    
        
            
                src/main/resources
                
                    **/*.xml
                    **/*.tld
                    **/*.html
                    **/*.yml
                    **/*.xlsx
                
                true
            
            
                src/main/resources
                
                    config/*.properties
                    config/*.yml
                
                true
            
            
                src/main/java
                
                    **/*.properties
                    **/*.yml
                    **/*.xml
                    **/*.tld
                    **/*.xlsx
                
                false
            
        
        
            
                org.springframework.boot
                spring-boot-maven-plugin
                
                    true
                    ${project.artifactId}
                
            
        
    

父依赖:

微服务下多模块打包找不到类和符号项目可以启动,打包编译运行就报错的问题_第2张图片

4,最好使用mvn 命令打包编译。以下是问题汇总。

## 编译项目
mvn -X -DskipTests=true compile  

## 编译项目并且打包 切入到项目最外面
mvn clean install package -Dmaven.test.skip=true  

微服务下多模块打包找不到类和符号项目可以启动,打包编译运行就报错的问题_第3张图片

微服务下多模块打包找不到类和符号项目可以启动,打包编译运行就报错的问题_第4张图片

微服务下多模块打包找不到类和符号项目可以启动,打包编译运行就报错的问题_第5张图片

微服务下多模块打包找不到类和符号项目可以启动,打包编译运行就报错的问题_第6张图片

java -jar启动nacos 报
nacos报错: java.nio.charset.MalformedInputException: Input length = 1

微服务下多模块打包找不到类和符号项目可以启动,打包编译运行就报错的问题_第7张图片

微服务下多模块打包找不到类和符号项目可以启动,打包编译运行就报错的问题_第8张图片

原因是nacos的yml编码和项目不一致,导致其他问题。

解决办法:

java -jar -Dfile.encoding=utf-8 xxx.jar

你可能感兴趣的:(多模块打包找不到类,nacos,yml报错,微服务打包,java)