2017-08-29 53 views
0

我的問題是,當我向配置文件添加依賴關係時,代碼中的所有內容都得到「無法解析」。那個pom有什麼問題?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>aaa</groupId> 
<artifactId>zzz</artifactId> 
<version>0.0.1-SNAPSHOT</version> 
<packaging>jar</packaging> 

<name>test</name> 
<description>Demo project for Spring Boot</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> 
</properties> 

<profiles> 
    <profile> 
     <id>dev</id> 
     <dependencies> 
      <dependency> 
       <groupId>org.springframework.boot</groupId> 
       <artifactId>spring-boot-starter</artifactId> 
      </dependency> 

      ... more dependencies... 
     </dependencies> 
    </profile> 
    <profile> 
     <id>test</id> 
     <dependencies> 
      <dependency> 
       <groupId>com.h2database</groupId> 
       <artifactId>h2</artifactId> 
       <version>1.4.196</version> 
       <scope>test</scope> 
      </dependency> 
     </dependencies> 
    </profile> 
</profiles> 


<build> 
    <plugins> 
     <plugin> 
      <groupId>org.springframework.boot</groupId> 
      <artifactId>spring-boot-maven-plugin</artifactId> 
     </plugin> 
    </plugins> 
</build> 

還有一個問題 - 如果我有譜,可一些依賴的是不帶任何個人資料是每個配置文件的一部分?謝謝你的回答。

+0

如果您想使用它,您必須_activate_配置文件。但爲什麼在你的代碼中實際需要它們時在配置文件中存在依賴關係? – Seelenvirtuose

+0

我粘貼了錯誤的POM,現在編輯它。 :)我想在測試中有其他數據庫。 – Helosze

+0

我在application.properties中有spring.profiles.active = dev – Helosze

回答

1

您可以在配置文件內部和外部有依賴關係。如果你想使用一個配置文件,你需要激活它,無論是從命令行還是通過一些激活觸發器就像一個文件。

+0

好了,我知道我可以在運行例如mvn clean install -P dev時激活配置文件,並且當我的測試運行時,配置文件正在更改,但在IntelliJ整個代碼都有「無法解析」。 – Helosze

+1

您可能需要告知IntelliJ要在Workspace中激活哪些配置文件(在Eclipse中,m2e插件具有該選項)。 –