springBoot 打war包 程序包com.sun.istack.internal不存在的问题及解决方案
使用的是idea-Lifecycle-package的方式打包(maven)
确认
修改启动类:
(原启动类)
publicclassExampleApplication{ publicstaticvoidmain(String[]args){ SpringApplication.run(ExampleApplication.class,args); } }
修改为:
publicclassExampleApplicationextendsSpringBootServletInitializer{ @Override protectedSpringApplicationBuilderconfigure(SpringApplicationBuilderbuilder){ returnbuilder.sources(ExampleApplication.class); } publicstaticvoidmain(String[]args){ SpringApplication.run(ExampleApplication.class,args); } }
(至此:即可打包war成功,其中可能需要移除内置tomcat服务,导入tomcatAPI,不过在这里测试过没有问题,所以不操作)
假若打包成功,恭喜你,可以不用看下面的了。。。
在这里只说明打war报,出现程序包找不到的情况,eg:com.sun.istack.internal,最常见于使用@NotNull(在未解决期间,偶尔还是可以打包成功的,这时候是完全懵逼的)
程序包使用的是jre下的工具rt.jar,导入相关的maven信息也不行。
或者添加系统依赖
下面介绍其他方式
添加plugin:maven-compiler-plugin
org.apache.maven.plugins maven-compiler-plugin ${java.version} -Xlint:deprecation ${java.home}\lib\rt.jar;${java.home}\lib\jce.jar
总结
以上所述是小编给大家介绍的springBoot打war包程序包com.sun.istack.internal不存在的问题及解决方案,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对毛票票网站的支持!
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。