现象描述:

spring boot 在eclipse里启动正常,但打包后启动不起来。

错误日志如下:

  1. D:\Project>java -jar MKKY_CMS.jar
  2.  
  3. . ____ _ __ _ _
  4. /\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \
  5. ( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
  6. \\/ ___)| |_)| | | | | || (_| | ) ) ) )
  7. ' |____| .__|_| |_|_| |_\__, | / / / /
  8. =========|_|==============|___/=/_/_/_/
  9. :: Spring Boot :: (v2.1.4.RELEASE)
  10.  
  11. 2019-06-12 17:26:15.510 INFO 74468 --- [ main] com.mkky.SuperviseBackstageApplication : Starting SuperviseBackstageApplication v0.0.1-SNAPSHOT on DESKTOP-405G2C8 with PID 74468 (D:\Project\MKKY_CMS.jar started by dell in D:\Project)
  12. 2019-06-12 17:26:15.513 INFO 74468 --- [ main] com.mkky.SuperviseBackstageApplication : The following profiles are active: dev
  13. 2019-06-12 17:26:16.049 WARN 74468 --- [ main] ConfigServletWebServerApplicationContext : Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.BeanDefinitionStoreException: Failed to process import candidates for configuration class [com.mkky.SuperviseBackstageApplication]; nested exception is java.lang.IllegalStateException: Error processing condition on org.springframework.boot.autoconfigure.web.servlet.error.ErrorMvcAutoConfiguration$WhitelabelErrorViewConfiguration
  14. 2019-06-12 17:26:16.059 INFO 74468 --- [ main] ConditionEvaluationReportLoggingListener :
  15.  
  16. Error starting ApplicationContext. To display the conditions report re-run your application with 'debug' enabled.
  17. 2019-06-12 17:26:16.065 ERROR 74468 --- [ main] o.s.boot.SpringApplication : Application run failed
  18.  
  19. org.springframework.beans.factory.BeanDefinitionStoreException: Failed to process import candidates for configuration class [com.mkky.SuperviseBackstageApplication]; nested exception is java.lang.IllegalStateException: Error processing condition on org.springframework.boot.autoconfigure.web.servlet.error.ErrorMvcAutoConfiguration$WhitelabelErrorViewConfiguration
  20. at org.springframework.context.annotation.ConfigurationClassParser.processImports(ConfigurationClassParser.java:599) ~[spring-context-5.1.6.RELEASE.jar!/:5.1.6.RELEASE]
  21. at org.springframework.context.annotation.ConfigurationClassParser.access$900(ConfigurationClassParser.java:108) ~[spring-context-5.1.6.RELEASE.jar!/:5.1.6.RELEASE]
  22. at org.springframework.context.annotation.ConfigurationClassParser$DeferredImportSelectorGroupingHandler.lambda$processGroupImports$1(ConfigurationClassParser.java:808) ~[spring-context-5.1.6.RELEASE.jar!/:5.1.6.RELEASE]
  23. at java.util.ArrayList.forEach(ArrayList.java:1249) ~[na:1.8.0_91]
  24. at org.springframework.context.annotation.ConfigurationClassParser$DeferredImportSelectorGroupingHandler.processGroupImports(ConfigurationClassParser.java:804) ~[spring-context-5.1.6.RELEASE.jar!/:5.1.6.RELEASE]
  25. at org.springframework.context.annotation.ConfigurationClassParser$DeferredImportSelectorHandler.process(ConfigurationClassParser.java:774) ~[spring-context-5.1.6.RELEASE.jar!/:5.1.6.RELEASE]
  26. at org.springframework.context.annotation.ConfigurationClassParser.parse(ConfigurationClassParser.java:185) ~[spring-context-5.1.6.RELEASE.jar!/:5.1.6.RELEASE]
  27. at org.springframework.context.annotation.ConfigurationClassPostProcessor.processConfigBeanDefinitions(ConfigurationClassPostProcessor.java:315) ~[spring-context-5.1.6.RELEASE.jar!/:5.1.6.RELEASE]
  28. at org.springframework.context.annotation.ConfigurationClassPostProcessor.postProcessBeanDefinitionRegistry(ConfigurationClassPostProcessor.java:232) ~[spring-context-5.1.6.RELEASE.jar!/:5.1.6.RELEASE]
  29. at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanDefinitionRegistryPostProcessors(PostProcessorRegistrationDelegate.java:275) ~[spring-context-5.1.6.RELEASE.jar!/:5.1.6.RELEASE]
  30. at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanFactoryPostProcessors(PostProcessorRegistrationDelegate.java:95) ~[spring-context-5.1.6.RELEASE.jar!/:5.1.6.RELEASE]
  31. at org.springframework.context.support.AbstractApplicationContext.invokeBeanFactoryPostProcessors(AbstractApplicationContext.java:705) ~[spring-context-5.1.6.RELEASE.jar!/:5.1.6.RELEASE]
  32. at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:531) ~[spring-context-5.1.6.RELEASE.jar!/:5.1.6.RELEASE]
  33. at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:142) ~[spring-boot-2.1.4.RELEASE.jar!/:2.1.4.RELEASE]
  34. at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:775) [spring-boot-2.1.4.RELEASE.jar!/:2.1.4.RELEASE]
  35. at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:397) [spring-boot-2.1.4.RELEASE.jar!/:2.1.4.RELEASE]
  36. at org.springframework.boot.SpringApplication.run(SpringApplication.java:316) [spring-boot-2.1.4.RELEASE.jar!/:2.1.4.RELEASE]
  37. at org.springframework.boot.SpringApplication.run(SpringApplication.java:1260) [spring-boot-2.1.4.RELEASE.jar!/:2.1.4.RELEASE]
  38. at org.springframework.boot.SpringApplication.run(SpringApplication.java:1248) [spring-boot-2.1.4.RELEASE.jar!/:2.1.4.RELEASE]
  39. at com.mkky.SuperviseBackstageApplication.main(SuperviseBackstageApplication.java:16) [classes!/:0.0.1-SNAPSHOT]
  40. at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.8.0_91]
  41. at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:1.8.0_91]
  42. at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_91]
  43. at java.lang.reflect.Method.invoke(Method.java:498) ~[na:1.8.0_91]
  44. at org.springframework.boot.loader.MainMethodRunner.run(MainMethodRunner.java:48) [MKKY_CMS.jar:0.0.1-SNAPSHOT]
  45. at org.springframework.boot.loader.Launcher.launch(Launcher.java:87) [MKKY_CMS.jar:0.0.1-SNAPSHOT]
  46. at org.springframework.boot.loader.Launcher.launch(Launcher.java:50) [MKKY_CMS.jar:0.0.1-SNAPSHOT]
  47. at org.springframework.boot.loader.PropertiesLauncher.main(PropertiesLauncher.java:593) [MKKY_CMS.jar:0.0.1-SNAPSHOT]
  48. Caused by: java.lang.IllegalStateException: Error processing condition on org.springframework.boot.autoconfigure.web.servlet.error.ErrorMvcAutoConfiguration$WhitelabelErrorViewConfiguration
  49. at org.springframework.boot.autoconfigure.condition.SpringBootCondition.matches(SpringBootCondition.java:64) ~[spring-boot-autoconfigure-2.1.4.RELEASE.jar!/:2.1.4.RELEASE]
  50. at org.springframework.context.annotation.ConditionEvaluator.shouldSkip(ConditionEvaluator.java:108) ~[spring-context-5.1.6.RELEASE.jar!/:5.1.6.RELEASE]
  51. at org.springframework.context.annotation.ConfigurationClassParser.processConfigurationClass(ConfigurationClassParser.java:218) ~[spring-context-5.1.6.RELEASE.jar!/:5.1.6.RELEASE]
  52. at org.springframework.context.annotation.ConfigurationClassParser.processMemberClasses(ConfigurationClassParser.java:361) ~[spring-context-5.1.6.RELEASE.jar!/:5.1.6.RELEASE]
  53. at org.springframework.context.annotation.ConfigurationClassParser.doProcessConfigurationClass(ConfigurationClassParser.java:263) ~[spring-context-5.1.6.RELEASE.jar!/:5.1.6.RELEASE]
  54. at org.springframework.context.annotation.ConfigurationClassParser.processConfigurationClass(ConfigurationClassParser.java:242) ~[spring-context-5.1.6.RELEASE.jar!/:5.1.6.RELEASE]
  55. at org.springframework.context.annotation.ConfigurationClassParser.processImports(ConfigurationClassParser.java:589) ~[spring-context-5.1.6.RELEASE.jar!/:5.1.6.RELEASE]
  56. ... 27 common frames omitted
  57. Caused by: java.lang.IllegalArgumentException: name
  58. at sun.misc.URLClassPath$Loader.findResource(URLClassPath.java:658) ~[na:1.8.0_91]
  59. at sun.misc.URLClassPath.findResource(URLClassPath.java:188) ~[na:1.8.0_91]
  60. at java.net.URLClassLoader$2.run(URLClassLoader.java:569) ~[na:1.8.0_91]
  61. at java.net.URLClassLoader$2.run(URLClassLoader.java:567) ~[na:1.8.0_91]
  62. at java.security.AccessController.doPrivileged(Native Method) ~[na:1.8.0_91]
  63. at java.net.URLClassLoader.findResource(URLClassLoader.java:566) ~[na:1.8.0_91]
  64. at org.springframework.boot.loader.LaunchedURLClassLoader.findResource(LaunchedURLClassLoader.java:57) ~[MKKY_CMS.jar:0.0.1-SNAPSHOT]
  65. at java.lang.ClassLoader.getResource(ClassLoader.java:1096) ~[na:1.8.0_91]
  66. at org.springframework.core.io.ClassPathResource.resolveURL(ClassPathResource.java:155) ~[spring-core-5.1.6.RELEASE.jar!/:5.1.6.RELEASE]
  67. at org.springframework.core.io.ClassPathResource.exists(ClassPathResource.java:142) ~[spring-core-5.1.6.RELEASE.jar!/:5.1.6.RELEASE]
  68. at org.springframework.boot.autoconfigure.thymeleaf.ThymeleafTemplateAvailabilityProvider.isTemplateAvailable(ThymeleafTemplateAvailabilityProvider.java:44) ~[spring-boot-autoconfigure-2.1.4.RELEASE.jar!/:2.1.4.RELEASE]
  69. at org.springframework.boot.autoconfigure.template.TemplateAvailabilityProviders.findProvider(TemplateAvailabilityProviders.java:158) ~[spring-boot-autoconfigure-2.1.4.RELEASE.jar!/:2.1.4.RELEASE]
  70. at org.springframework.boot.autoconfigure.template.TemplateAvailabilityProviders.getProvider(TemplateAvailabilityProviders.java:145) ~[spring-boot-autoconfigure-2.1.4.RELEASE.jar!/:2.1.4.RELEASE]
  71. at org.springframework.boot.autoconfigure.web.servlet.error.ErrorMvcAutoConfiguration$ErrorTemplateMissingCondition.getMatchOutcome(ErrorMvcAutoConfiguration.java:195) ~[spring-boot-autoconfigure-2.1.4.RELEASE.jar!/:2.1.4.RELEASE]
  72. at org.springframework.boot.autoconfigure.condition.SpringBootCondition.matches(SpringBootCondition.java:47) ~[spring-boot-autoconfigure-2.1.4.RELEASE.jar!/:2.1.4.RELEASE]
  73. ... 33 common frames omitted

问题解决路径

1. 最初怀疑是打包时缺少依赖包造成的,修改打包的方式

  1. <build>
  2. <finalName>xxxxx</finalName>
  3. <plugins>
  4. <plugin>
  5. <groupId>org.apache.maven.plugins</groupId>
  6. <artifactId>maven-compiler-plugin</artifactId>
  7. <configuration>
  8. <source>1.8</source>
  9. <target>1.8</target>
  10. <encoding>UTF-8</encoding>
  11. </configuration>
  12. </plugin>
  13. <plugin>
  14. <groupId>org.springframework.boot</groupId>
  15. <artifactId>spring-boot-maven-plugin</artifactId>
  16. <configuration>
  17. <fork>true</fork>
  18. <mainClass>com.xx</mainClass>
  19. <layout>ZIP</layout>
  20. </configuration>
  21. <executions>
  22. <execution>
  23. <goals>
  24. <goal>repackage</goal>
  25. </goals>
  26. </execution>
  27. </executions>
  28. </plugin>
  29. </plugins>
  30. </build>

依赖包没有问题,还是报同样的错误。

2. 排除依赖包的问题后,怀疑是jar包冲突的问题,网上有类似的

https://stackoverflow.com/questions/32758000/java-lang-illegalstateexception-error-processing-condition-on-org-springframewo

使用dependence查了  没有不同版本的依赖,排除

3.怀疑是*config.java的配置问题,一个个移除进行测试,也排除掉了

4.根据日志怀疑是Controller里排除的异常页面有问题,排查后没有发现

5.怀疑是application_*.properties的配置问题

一项项排查,发现跟这个有关

spring.thymeleaf.prefix=static:/web/

去除这个选项后,重新打包后可以启动成功。

翻看源码ThymeleafProperties.java

  1. /**
  2. * Properties for Thymeleaf.
  3. *
  4. * @author Stephane Nicoll
  5. * @author Brian Clozel
  6. * @author Daniel Fern谩ndez
  7. * @author Kazuki Shimizu
  8. * @since 1.2.0
  9. */
  10. @ConfigurationProperties(prefix = "spring.thymeleaf")
  11. public class ThymeleafProperties {
  12.  
  13. private static final Charset DEFAULT_ENCODING = StandardCharsets.UTF_8;
  14.  
  15. public static final String DEFAULT_PREFIX = "classpath:/templates/"; //1
  16.  
  17. public static final String DEFAULT_SUFFIX = ".html";
  18.  
  19. /**
  20. * Whether to check that the template exists before rendering it.
  21. */
  22. private boolean checkTemplate = true;
  23.  
  24. /**
  25. * Whether to check that the templates location exists.
  26. */
  27. private boolean checkTemplateLocation = true;
  28.  
  29. /**
  30. * Prefix that gets prepended to view names when building a URL.
  31. */
  32. private String prefix = DEFAULT_PREFIX;
  33.  
  34. /**
  35. * Suffix that gets appended to view names when building a URL.
  36. */
  37. private String suffix = DEFAULT_SUFFIX;
  38.  
  39. /**
  40. * Template mode to be applied to templates. See also Thymeleaf's TemplateMode enum.
  41. */
  42. private String mode = "HTML";
  43.  
  44. /**
  45. * Template files encoding.
  46. */
  47. private Charset encoding = DEFAULT_ENCODING;
  48.  
  49. /**
  50. * Whether to enable template caching.
  51. */
  52. private boolean cache = true;
  53.  
  54. /**
  55. * Order of the template resolver in the chain. By default, the template resolver is
  56. * first in the chain. Order start at 1 and should only be set if you have defined
  57. * additional "TemplateResolver" beans.
  58. */
  59. private Integer templateResolverOrder;
  60.  
  61. /**
  62. * Comma-separated list of view names (patterns allowed) that can be resolved.
  63. */
  64. private String[] viewNames;
  65.  
  66. /**
  67. * Comma-separated list of view names (patterns allowed) that should be excluded from
  68. * resolution.
  69. */
  70. private String[] excludedViewNames;
  71.  
  72. /**
  73. * Enable the SpringEL compiler in SpringEL expressions.
  74. */
  75. private boolean enableSpringElCompiler;
  76.  
  77. /**
  78. * Whether hidden form inputs acting as markers for checkboxes should be rendered
  79. * before the checkbox element itself.
  80. */
  81. private boolean renderHiddenMarkersBeforeCheckboxes = false;
  82.  
  83. /**
  84. * Whether to enable Thymeleaf view resolution for Web frameworks.
  85. */
  86. private boolean enabled = true;
  87.  
  88. private final Servlet servlet = new Servlet();
  89.  
  90. private final Reactive reactive = new Reactive();
  91.  
  92. public boolean isEnabled() {
  93. return this.enabled;
  94. }
  95.  
  96. public void setEnabled(boolean enabled) {
  97. this.enabled = enabled;
  98. }
  99.  
  100. public boolean isCheckTemplate() {
  101. return this.checkTemplate;
  102. }
  103.  
  104. public void setCheckTemplate(boolean checkTemplate) {
  105. this.checkTemplate = checkTemplate;
  106. }
  107.  
  108. public boolean isCheckTemplateLocation() {
  109. return this.checkTemplateLocation;
  110. }
  111.  
  112. public void setCheckTemplateLocation(boolean checkTemplateLocation) {
  113. this.checkTemplateLocation = checkTemplateLocation;
  114. }
  115.  
  116. public String getPrefix() {
  117. return this.prefix;
  118. }
  119.  
  120. public void setPrefix(String prefix) {
  121. this.prefix = prefix;
  122. }
  123.  
  124. public String getSuffix() {
  125. return this.suffix;
  126. }
  127.  
  128. public void setSuffix(String suffix) {
  129. this.suffix = suffix;
  130. }
  131.  
  132. public String getMode() {
  133. return this.mode;
  134. }
  135.  
  136. public void setMode(String mode) {
  137. this.mode = mode;
  138. }
  139.  
  140. public Charset getEncoding() {
  141. return this.encoding;
  142. }
  143.  
  144. public void setEncoding(Charset encoding) {
  145. this.encoding = encoding;
  146. }
  147.  
  148. public boolean isCache() {
  149. return this.cache;
  150. }
  151.  
  152. public void setCache(boolean cache) {
  153. this.cache = cache;
  154. }
  155.  
  156. public Integer getTemplateResolverOrder() {
  157. return this.templateResolverOrder;
  158. }
  159.  
  160. public void setTemplateResolverOrder(Integer templateResolverOrder) {
  161. this.templateResolverOrder = templateResolverOrder;
  162. }
  163.  
  164. public String[] getExcludedViewNames() {
  165. return this.excludedViewNames;
  166. }
  167.  
  168. public void setExcludedViewNames(String[] excludedViewNames) {
  169. this.excludedViewNames = excludedViewNames;
  170. }
  171.  
  172. public String[] getViewNames() {
  173. return this.viewNames;
  174. }
  175.  
  176. public void setViewNames(String[] viewNames) {
  177. this.viewNames = viewNames;
  178. }
  179.  
  180. public boolean isEnableSpringElCompiler() {
  181. return this.enableSpringElCompiler;
  182. }
  183.  
  184. public void setEnableSpringElCompiler(boolean enableSpringElCompiler) {
  185. this.enableSpringElCompiler = enableSpringElCompiler;
  186. }
  187.  
  188. public boolean isRenderHiddenMarkersBeforeCheckboxes() {
  189. return this.renderHiddenMarkersBeforeCheckboxes;
  190. }
  191.  
  192. public void setRenderHiddenMarkersBeforeCheckboxes(
  193. boolean renderHiddenMarkersBeforeCheckboxes) {
  194. this.renderHiddenMarkersBeforeCheckboxes = renderHiddenMarkersBeforeCheckboxes;
  195. }
  196.  
  197. public Reactive getReactive() {
  198. return this.reactive;
  199. }
  200.  
  201. public Servlet getServlet() {
  202. return this.servlet;
  203. }
  204.  
  205. public static class Servlet {
  206.  
  207. /**
  208. * Content-Type value written to HTTP responses.
  209. */
  210. private MimeType contentType = MimeType.valueOf("text/html");
  211.  
  212. /**
  213. * Whether Thymeleaf should start writing partial output as soon as possible or
  214. * buffer until template processing is finished.
  215. */
  216. private boolean producePartialOutputWhileProcessing = true;
  217.  
  218. public MimeType getContentType() {
  219. return this.contentType;
  220. }
  221.  
  222. public void setContentType(MimeType contentType) {
  223. this.contentType = contentType;
  224. }
  225.  
  226. public boolean isProducePartialOutputWhileProcessing() {
  227. return this.producePartialOutputWhileProcessing;
  228. }
  229.  
  230. public void setProducePartialOutputWhileProcessing(
  231. boolean producePartialOutputWhileProcessing) {
  232. this.producePartialOutputWhileProcessing = producePartialOutputWhileProcessing;
  233. }
  234.  
  235. }
  236.  
  237. public static class Reactive {
  238.  
  239. /**
  240. * Maximum size of data buffers used for writing to the response. Templates will
  241. * execute in CHUNKED mode by default if this is set.
  242. */
  243. private DataSize maxChunkSize = DataSize.ofBytes(0);
  244.  
  245. /**
  246. * Media types supported by the view technology.
  247. */
  248. private List<MediaType> mediaTypes;
  249.  
  250. /**
  251. * Comma-separated list of view names (patterns allowed) that should be executed
  252. * in FULL mode even if a max chunk size is set.
  253. */
  254. private String[] fullModeViewNames;
  255.  
  256. /**
  257. * Comma-separated list of view names (patterns allowed) that should be the only
  258. * ones executed in CHUNKED mode when a max chunk size is set.
  259. */
  260. private String[] chunkedModeViewNames;
  261.  
  262. public List<MediaType> getMediaTypes() {
  263. return this.mediaTypes;
  264. }
  265.  
  266. public void setMediaTypes(List<MediaType> mediaTypes) {
  267. this.mediaTypes = mediaTypes;
  268. }
  269.  
  270. public DataSize getMaxChunkSize() {
  271. return this.maxChunkSize;
  272. }
  273.  
  274. public void setMaxChunkSize(DataSize maxChunkSize) {
  275. this.maxChunkSize = maxChunkSize;
  276. }
  277.  
  278. public String[] getFullModeViewNames() {
  279. return this.fullModeViewNames;
  280. }
  281.  
  282. public void setFullModeViewNames(String[] fullModeViewNames) {
  283. this.fullModeViewNames = fullModeViewNames;
  284. }
  285.  
  286. public String[] getChunkedModeViewNames() {
  287. return this.chunkedModeViewNames;
  288. }
  289.  
  290. public void setChunkedModeViewNames(String[] chunkedModeViewNames) {
  291. this.chunkedModeViewNames = chunkedModeViewNames;
  292. }
  293.  
  294. }
  295.  
  296. }

配置前缀的路径有问题。

spring boot 在eclipse里启动正常,但打包后启动不起来的更多相关文章

  1. spring boot 2.0 thymeleaf调试时正常,打包后运行报错. 找不到模板文件.

    使用th:fragment  定义模板 使用 th:replace  来添加模板到需要的地方. 使用时发现一个非常奇怪的问题. 本机idea 调试环境一切正常, 但是打成jar包以后报错,提示找不到对 ...

  2. 解决Spring Boot 从1.x升级到 2.x 后 单点登陆(SSO)问题

    解决Spring Boot 从1.x升级到 2.x 后 单点登陆(SSO)问题   在学习Spring Cloud 时,遇到了授权服务oauth 相关内容时,总是一知半解,因此决定先把Spring S ...

  3. Spring boot + Gradle + Eclipse打war包发布总结

    首先感谢两位博主的分享 http://lib.csdn.net/article/git/55444?knId=767 https://my.oschina.net/alexnine/blog/5406 ...

  4. spring boot框架eclipse快速搭建

    1.maven安装配置好,使用eclipse创建maven项目(选择maven-archetype-quickstart) 2.然后进入http://docs.spring.io/spring-boo ...

  5. Spring Boot 2.2 增加了一个新功能,启动飞起~

    前几天栈长分享了一个好玩的框架:一个比Spring Boot快44倍的Java框架!,是不是感觉 Spring Boot 略慢?今天讲一下 Spring Boot 添加的这个新特性,可以大大提升 Sp ...

  6. Spring Boot 学习笔记1——初体验之3分钟启动你的Web应用[z]

    前言 早在去年就简单的使用了一下Spring Boot,当时就被其便捷的功能所震惊.但是那是也没有深入的研究,随着其在业界被应用的越来越广泛,因此决定好好地深入学习一下,将自己的学习心得在此记录,本文 ...

  7. 《spring boot》8.2章学习时无法正常启动,报“ORA-00942: 表或视图不存在 ”

    在学习<spring boot>一书的过程中,由于原书作者难免有一些遗漏的的地方,或者系统.软件版本不一致.框架更新等各种因素,完全安装书中源码页不能实现项目的正常启动 在8.2章节,演示 ...

  8. 创建spring boot项目并添加多个模块时,启动报 错误: 找不到或无法加载主类

          最近建个项目发现启动报,找不到或无法加载主类,想想肯定是自己配置出问题了,经过排查确实出问题了,(根pom中的bulid为移到子模块中去导致的),下面演示下正确的创建子模块的步奏 1. 创 ...

  9. Building a RESTful Web Service Using Spring Boot In Eclipse

    一.构建restful web service 创建Maven的java web工程,maven的pom文件加入依赖包 创建包hello Greeting.java package hello; pu ...

随机推荐

  1. 在使用 Fortify进行源码扫描时需要做对项目需要做什么?

    1.一般我们的项目都是svn 或git 进行管理的,为了扫出异常的问题 做好把   “” .svn    “”  文件删除 2.把我们的项目需要的jar 文件放到一个文件夹内同项目一起进行扫描.这样为 ...

  2. afnetwork使用

    Usage HTTP Request Operation Manager AFHTTPRequestOperationManager encapsulates the common patterns ...

  3. 关于微信开发者工具创建项目和导入项目半天不响应或者socket hang out

    笔者的电脑系统是macOS Catalina(10.15),其实之前的系统版本也遇到一样的问题,网络环境是学校实验室. 解决办法:连接手机Wi-Fi 原理:目前不清楚,清楚的小伙伴可在下方留言交流

  4. vue router 导航守卫生命周期

    导航守卫 导航守卫主要用来通过跳转或取消的方式守卫导航.有多种机会植入路由导航过程中:全局的, 单个路由独享的, 或者组件级的.(记住参数或查询的改变并不会触发进入/离开的导航守卫.你可以通过观察$r ...

  5. oracle_day1

    本节内容: 1:oracle的服务 2:oracle 11 G 的新功能 3:数据库的三大范式 1:oracle的服务 安装完oracle 想要使用oracle 必须要启动的两个服务. 要是还想要使用 ...

  6. appium python demo

    #coding=utf-8from appium import webdriverdesired_caps={}desired_caps["platformName"]=" ...

  7. springboot整合OSS实现文件上传

    OSS 阿里云对象存储服务(Object Storage Service,简称 OSS),是阿里云提供的海量.安全.低成本.高可靠的云存储服务.OSS可用于图片.音视频.日志等海量文件的存储.各种终端 ...

  8. nginx发布静态资源

    nginx发布静态资源 参考 ngx_http_index_module index指令 ngx_http_core_module http指令 location指令 listen指令 root指令 ...

  9. zz独家专访AI大神贾扬清:我为什么选择加入阿里巴巴?

    独家专访AI大神贾扬清:我为什么选择加入阿里巴巴? Natalie.Cai 拥有的都是侥幸,失去的都是人生 ​关注她 5 人赞同了该文章 本文由 「AI前线」原创,原文链接:独家专访AI大神贾扬清:我 ...

  10. streamsets 源码构建

    依赖构建工具 git 1.9+ oracle jdk  8 docker 1.10+ maven  3.3.9+ nodejs npm grunt-cli md5sum 预备构建任务 data col ...