错误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包 将不会出现该错误