如何解决从jar运行时未加载Spring配置文件
我有一个问题,从Jar运行时未加载@configuration文件。它可以从IDE(IntelliJ IDEA 2020.2)正常工作。我正在使用带有build.gradle文件的Spring Boot 2.3.1:
plugins {
id 'org.springframework.boot' version '2.3.1.RELEASE'
id 'io.spring.dependency-management' version '1.0.9.RELEASE'
id 'java'
}
group = 'com.bramgussekloo'
version = '0.0.1-SNAPSHOT'
sourceCompatibility = '1.8'
configurations {
developmentOnly
runtimeClasspath {
extendsFrom developmentOnly
}
}
repositories {
mavenCentral()
maven { url 'https://repo.spring.io/milestone' }
}
dependencies {
implementation 'org.springframework.boot:spring-boot-starter-web','postgresql:postgresql:9.1-901-1.jdbc4',"io.springfox:springfox-boot-starter:3.0.0"
developmentOnly 'org.springframework.boot:spring-boot-devtools'
testImplementation('org.springframework.boot:spring-boot-starter-test') {
exclude group: 'org.junit.vintage',module: 'junit-vintage-engine'
}
// https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-devtools
compile group: 'org.springframework.boot',name: 'spring-boot-devtools',version: '2.3.1.RELEASE'
// https://mvnrepository.com/artifact/com.graphhopper/graphhopper-core
compile group: 'com.graphhopper',name: 'graphhopper-core',version: '1.0'
// // https://mvnrepository.com/artifact/io.springfox/springfox-swagger2
// compile group: 'io.springfox',name: 'springfox-swagger2',version: '3.0.0'
// compile('io.springfox:springfox-swagger2:3.0.0')
// https://mvnrepository.com/artifact/io.swagger.core.v3/swagger-annotations
compile group: 'io.swagger.core.v3',name: 'swagger-annotations',version: '2.1.3'
// https://mvnrepository.com/artifact/io.swagger.core.v3/swagger-models
compile group: 'io.swagger.core.v3',name: 'swagger-models',version: '2.1.3'
compile("org.springframework.boot:spring-boot-starter-web")
testCompile("org.springframework.boot:spring-boot-starter-test")
// https://mvnrepository.com/artifact/io.springfox/springfox-swagger-ui
compile group: 'io.springfox',name: 'springfox-swagger-ui',version: '3.0.0'
// https://mvnrepository.com/artifact/org.springframework.plugin/spring-plugin-core
compile group: 'org.springframework.plugin',name: 'spring-plugin-core',version: '2.0.0.RELEASE'
// https://mvnrepository.com/artifact/org.apache.poi/poi-ooxml
compile group: 'org.apache.poi',name: 'poi-ooxml',version: '4.1.2'
// https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-web
compile group: 'org.springframework.boot',name: 'spring-boot-starter-web',version: '2.3.1.RELEASE'
// https://mvnrepository.com/artifact/org.springframework.security/spring-security-core
compile group: 'org.springframework.security',name: 'spring-security-core',version: '5.3.3.RELEASE'
// https://mvnrepository.com/artifact/org.springframework.security/spring-security-web
compile group: 'org.springframework.security',name: 'spring-security-web',version: '5.3.3.RELEASE'
// https://mvnrepository.com/artifact/org.springframework.security/spring-security-config
compile group: 'org.springframework.security',name: 'spring-security-config',version: '5.3.3.RELEASE'
// https://mvnrepository.com/artifact/org.springframework/spring-jdbc
compile group: 'org.springframework',name: 'spring-jdbc',version: '5.2.7.RELEASE'
// https://mvnrepository.com/artifact/org.apache.tika/tika-core
compile group: 'org.apache.tika',name: 'tika-core',version: '1.24.1'
}
test {
useJUnitPlatform()
}
@EnableWebMvc
@Configuration
public class WebMvcConfig implements WebMvcConfigurer {
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
registry.
addResourceHandler("/swagger-ui/**")
.addResourceLocations("classpath:/META-INF/resources/webjars/springfox-swagger-ui/")
.resourceChain(false);
registry.addResourceHandler("/webjars/**")
.addResourceLocations("classpath:/META-INF/resources/webjars/");
System.out.println("works");
registry.addResourceHandler("/","/**/*")
.addResourceLocations("classpath:/static/","classpath:/META-INF/resources/","classpath:/META-INF/resources/webjars/")
.resourceChain(true)
.addResolver(new PathResourceResolver() {
@Override
protected Resource getResource(String resourcePath,Resource location) throws IOException {
Resource requestedResource = location.createRelative(resourcePath);
if (requestedResource.exists() && requestedResource.isReadable()) {
return requestedResource;
} else {
return new ClassPathResource("/static/index.html");
}
}
});
}
}
我尝试在代码中添加一个println,并在ide中将其打印出来,但是在罐子用完时不会打印。 Jar使用命令java -jar [jar name]
在JAVA 11.0.7上运行。
我的代码也可以在https://github.com/Bramgus12/HR-Routeplanner
上使用版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。