• springBoot 打war包 程序包com.sun.istack.internal不存在的问题


    使用的是 idea - Lifecycle-package 的方式打包(maven)

    确认  <packaging>war</packaging>

    修改启动类:

    (原启动类)

    public class ExampleApplication {
    
        public static void main(String[] args) {
            SpringApplication.run(ExampleApplication.class, args);
        }
    }

    修改为:

    public class ExampleApplication extends SpringBootServletInitializer {
    
        @Override
        protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
            return builder.sources(ExampleApplication.class);
        }
    
        public static void main(String[] args) {
            SpringApplication.run(ExampleApplication.class, args);
        }
    }

    (至此:即可打包war成功,其中可能需要移除内置tomcat服务,导入tomcat API,不过在这里测试过没有问题,所以不操作)

    假若打包成功,恭喜你,可以不用看下面的了。。。

    在这里只说明打war报,出现程序包找不到的情况,eg:com.sun.istack.internal,最常见于使用@NotNull(在未解决期间,偶尔还是可以打包成功的,这时候是完全懵逼的)

    程序包使用的是jre下的工具rt.jar,导入相关的maven信息也不行。

    或者添加系统依赖<scope>system</scope>也行不通:引用:http://maven.apache.org/guides/introduction/introduction-to-dependency-mechanism.html#System_Dependencies

    下面介绍其他方式

    添加plugin:maven-compiler-plugin

    <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-compiler-plugin</artifactId>
        <configuration>
            <source>${java.version}</source>
            <target>${java.version}</target>
            <compilerArgs>
                <arg>-Xlint:deprecation</arg>
            </compilerArgs>
            <compilerArguments>
                <bootclasspath>${java.home}lib
    t.jar;${java.home}libjce.jar</bootclasspath>
            </compilerArguments>
        </configuration>
    </plugin>

    亲测可以。

  • 相关阅读:
    kubernetes 网络故障遇见的坑
    CentOS7 Rsync服务搭建-Rsync+Inotify架构实现实时同步
    centos 7 git的管理和使用
    阿里云 ECS 监控报警设置
    ECS centos7 使用外部邮件服务商的465加密端口
    阿里云ECS 固定带宽变为按量付费的方式
    centos6 和centos7 安装git 的区别
    nginx 新增域名访问
    if 判断文件
    前端基础进阶(一):内存空间详细图解
  • 原文地址:https://www.cnblogs.com/skyLogin/p/9391593.html
Copyright © 2020-2023  润新知