spring boot 打tar包 错误处理

错误1

$ java

Error occurred during initialization of VM

java.lang.Error: Properties init: Could not determine current working directory.

at java.lang.System.initProperties(Native Method)

at java.lang.System.initializeSystemClass(System.java:1166)

异常信息里就写了异常出现原因 Could not determine current working directory(无法确定当前工作目录 )

出现该问题的原因是因为运行java命令所在的目录不存在 换个存在的目录执行就好了

错误2

$ java -jar GetClientIPDemo.jar

GetClientIPDemo.jar中没有主清单属性

出现该问题是因为project structure界面中Artifacts选项里面的jar配置的ManifestFile指定的路径或对应的文件有问题 重新指定路径 如果还不行删除该jar配置和生成的META-INF目录 重新添加jar配置指定MainClass生成ManifestFile就可以了

错误3

WARN 30808 --- [ main] ationConfigEmbeddedWebApplicationContext : Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.BeanDefinitionStoreException: Failed to process import candidates for configuration class [com.nailsoul.client.DemoApplication]; nested exception is java.lang.IllegalArgumentException: No auto configuration classes found in META-INF/spring.factories. If you are using a custom packaging, make sure that file is correct.

ERROR 30808 --- [ main] o.s.boot.SpringApplication : Application startup failed



org.springframework.beans.factory.BeanDefinitionStoreException: Failed to process import candidates for configuration class [com.nailsoul.client.DemoApplication]; nested exception is java.lang.IllegalArgumentException: No auto configuration classes found in META-INF/spring.factories. If you are using a custom packaging, make sure that file is correct.

at org.springframework.context.annotation.ConfigurationClassParser.processDeferredImportSelectors(ConfigurationClassParser.java:556) ~[Demo.jar:na]

at org.springframework.context.annotation.ConfigurationClassParser.parse(ConfigurationClassParser.java:185) ~[Demo.jar:na]

at org.springframework.context.annotation.ConfigurationClassPostProcessor.processConfigBeanDefinitions(ConfigurationClassPostProcessor.java:308) ~[Demo.jar:na]

at org.springframework.context.annotation.ConfigurationClassPostProcessor.postProcessBeanDefinitionRegistry(ConfigurationClassPostProcessor.java:228) ~[Demo.jar:na]

at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanDefinitionRegistryPostProcessors(PostProcessorRegistrationDelegate.java:272) ~[Demo.jar:na]

at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanFactoryPostProcessors(PostProcessorRegistrationDelegate.java:92) ~[Demo.jar:na]

at org.springframework.context.support.AbstractApplicationContext.invokeBeanFactoryPostProcessors(AbstractApplicationContext.java:687) ~[Demo.jar:na]

at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:525) ~[Demo.jar:na]

at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.refresh(EmbeddedWebApplicationContext.java:122) ~[Demo.jar:na]

at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:693) [Demo.jar:na]

at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:360) [Demo.jar:na]

at org.springframework.boot.SpringApplication.run(SpringApplication.java:303) [Demo.jar:na]

at org.springframework.boot.SpringApplication.run(SpringApplication.java:1118) [Demo.jar:na]

at org.springframework.boot.SpringApplication.run(SpringApplication.java:1107) [Demo.jar:na]

at com.nailsoul.client.DemoApplication.main(DemoApplication.java:11) [Demo.jar:na]

Caused by: java.lang.IllegalArgumentException: No auto configuration classes found in META-INF/spring.factories. If you are using a custom packaging, make sure that file is correct.

at org.springframework.util.Assert.notEmpty(Assert.java:277) ~[Demo.jar:na]

at org.springframework.boot.autoconfigure.AutoConfigurationImportSelector.getCandidateConfigurations(AutoConfigurationImportSelector.java:153) ~[Demo.jar:na]

at org.springframework.boot.autoconfigure.AutoConfigurationImportSelector.selectImports(AutoConfigurationImportSelector.java:95) ~[Demo.jar:na]

at org.springframework.context.annotation.ConfigurationClassParser.processDeferredImportSelectors(ConfigurationClassParser.java:547) ~[Demo.jar:na]

... 14 common frames omitted

特征码为 Caused by: java.lang.IllegalArgumentException: No auto configuration classes found in META-INF/spring.factories. If you are using a custom packaging, make sure that file is correct.

出现该问题为没有从META-INF/spring.factories中加载到配置报的错误

解决方法

pom.xml中project域中加入如下代码

<packaging>jar</packaging>



<build>

       <!--jar名-->

       <finalName>demo</finalName>

   <plugins>

      <plugin>

         <groupId>org.springframework.boot</groupId>

         <artifactId>spring-boot-maven-plugin</artifactId>

         <configuration>

            <fork>true</fork>

            <mainClass>${start-class}</mainClass>

         </configuration>

         <executions>

            <execution>

               <goals>

                  <goal>repackage</goal>

               </goals>

            </execution>

         </executions>

      </plugin>

   </plugins>

</build>

如果修改了pom后通过intellij IDEA打jar包后还是报这个错的话 可以通过maven package打jar包 将不会出现该错误

猜你喜欢

转载自blog.csdn.net/nailsoul/article/details/81326690