Spring boot Konnte nicht aufgelöst Platzhalter-Anwendung.yml
ich bin neu im Frühjahr und ich habe ein Problem mit es.
Wenn ich meine Anwendung mit IntelliJ Idee, alles funktioniert perfekt, aber wenn ich es kompilieren .jar-Anwendung, geben mir diese Fehlermeldung java.lang.IllegalArgumentException: Could not resolve placeholder 'jwt.secret' in value "${jwt.secret}"
Dies ist mein application.yml
sich an src/main/resources
#Config Application
jwt:
header: Authorization
secret: mySecret
expiration: 604800
route:
authentication:
path: auth
refresh: refresh
token: check
Wenn ich mein dieser funktioniert es perfekt.
// @Value("${jwt.secret}")
@Value("mySecret")
private String secret;
Was ich falsch mache?
Hinweis: ich bin mit MAVEN
Dies ist mein pom.xml
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.example.test</groupId>
<artifactId>test-app</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging>
<name>test-app</name>
<description>Test</description>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.5.6.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<java.version>1.8</java.version>
<jjwt.version>0.7.0</jjwt.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-security</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web-services</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-rest</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.mobile</groupId>
<artifactId>spring-mobile-device</artifactId>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>com.h2database</groupId>
<artifactId>h2</artifactId>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<optional>true</optional>
</dependency>
<dependency>
<groupId>io.jsonwebtoken</groupId>
<artifactId>jjwt</artifactId>
<version>${jjwt.version}</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-configuration-processor</artifactId>
<optional>true</optional>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
<resources>
<resource>
<directory>src/main/resources</directory>
<filtering>true</filtering>
</resource>
</resources>
</build>
</project>
Wie sind Sie mit dem kompilieren? Sind Sie mit maven? Ist das ein spring-boot-Anwendung?
Versuchen Sie dieses, @ConfigurationProperties("jwt") public class CustomCacheConfiguration { @Value("${jwt.secret}") private String geheim; ... }
Ich bin mit maven
posten Sie Ihre
pom.xml gepostet 😀
Versuchen Sie dieses, @ConfigurationProperties("jwt") public class CustomCacheConfiguration { @Value("${jwt.secret}") private String geheim; ... }
Ich bin mit maven
posten Sie Ihre
pom.xml
pom.xml gepostet 😀
InformationsquelleAutor Lexo Alonzo | 2017-09-12
Du musst angemeldet sein, um einen Kommentar abzugeben.
Mein schlechtes ich war Gebäude mit Intellij Idea.
Bauen Sie diesen Befehl verwenden:
InformationsquelleAutor Lexo Alonzo
@Autowired
private Environment env;
env.getProperty("jwt.Geheimnis")
können Sie versuchen!
Anwendung verwenden.Eigenschaften, die es versuchen ?
InformationsquelleAutor wwj
Haben Sie einen kleinen Fehler gibt.
Schauen Sie auf Ihre Anwendung.yml:
Den Namen der Eigenschaft "geheim" und nicht "mySecret". Sie versehentlich binden-Wert statt dem Namen der Eigenschaft. Ersetzen Sie einfach:
durch:
Deine Fehlermeldung jedoch zeigt, dass Sie die auskommentiert "der Zeugen Jehovas.Geheimnis". Bitte beachten Sie, dass wenn Sie einen prefix (z.B. "Zeugen Jehovas"), dann können Sie entnehmen, dass das Eigentum durch "geheime" nur.
InformationsquelleAutor Henry Kurz