2017-05-20 8 views
5

मैं वसंत बूट में एक बहु मॉड्यूल परियोजना का विकास कर रहा हूँ है, जहां परियोजना संरचना इस प्रकार है:पहुँच माता पिता की application.properties

com.app.parent <- parent pom with version numbers and common dependencies (POM) 
com.app.core <- repository and service layer, models, DTOs (JAR) 
com.app.rest <- rest API (WAR) 
com.app.soap <- soap API (WAR) 

माता पिता परियोजना के लिए pom.xml फ़ाइल है :

<artifactId>app-parent</artifactId> 
<packaging>pom</packaging> 
<name>app-parent</name> 

<parent> 
    <groupId>org.springframework.boot</groupId> 
    <artifactId>spring-boot-starter-parent</artifactId> 
    <version>1.5.3.RELEASE</version> 
    <relativePath/> 
</parent> 

<dependencies> 
    <dependency> 
     <groupId>org.springframework.boot</groupId> 
     <artifactId>spring-boot-starter</artifactId> 
    </dependency> 
    <dependency> 
     <groupId>org.springframework.boot</groupId> 
     <artifactId>spring-boot-starter-test</artifactId> 
     <scope>test</scope> 
    </dependency> 
</dependencies> 

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

कोर परियोजना के लिए pom.xml फ़ाइल है:

<artifactId>app-core</artifactId> 
<packaging>jar</packaging> 
<name>app-core</name> 

<parent> 
    <groupId>com.app</groupId> 
    <artifactId>app-parent</artifactId> 
    <version>0.0.1-SNAPSHOT</version> 
    <relativePath>../app-parent/pom.xml</relativePath> 
</parent> 

<dependencies> 
    <dependency> 
     <groupId>mysql</groupId> 
     <artifactId>mysql-connector-java</artifactId> 
    </dependency> 
    <dependency> 
     <groupId>org.springframework.boot</groupId> 
     <artifactId>spring-boot-starter-data-jpa</artifactId> 
    </dependency> 
</dependencies> 

pom.xmlबाकी परियोजना के लिए है:

<artifactId>app-rest</artifactId> 
<packaging>war</packaging> 
<name>app-rest</name> 

<parent> 
    <groupId>com.app</groupId> 
    <artifactId>app-parent</artifactId> 
    <version>0.0.1-SNAPSHOT</version> 
    <relativePath>../app-parent/pom.xml</relativePath> 
</parent> 

<dependencies> 
    <dependency> 
     <groupId>com.app</groupId> 
     <artifactId>app-core</artifactId> 
     <version>0.0.1-SNAPSHOT</version> 
    </dependency> 
    <dependency> 
     <groupId>org.springframework.boot</groupId> 
     <artifactId>spring-boot-starter-web</artifactId> 
    </dependency> 
</dependencies> 

एप्लिकेशन कोर परियोजना के लिए प्रवेश बिंदु है:

@SpringBootApplication 
public class CoreApplication { 

    public static void main(String[] args) { 
     SpringApplication.run(CoreApplication.class, args); 
    } 
} 

एप्लिकेशन-आराम के लिए प्रवेश बिंदु परियोजना बिल्कुल वही दिखती है।

मैंने application.properties फ़ाइल core/src/main/resources/ के भीतर फ़ाइल बनाई है जिसमें डेटाबेस कॉन्फ़िगरेशन आदि शामिल है और मैं ऐप-कोर प्रोजेक्ट को संकलित/परीक्षण कर सकता हूं। हालांकि, जब मैं चलाने के लिए या एप्लिकेशन-बाकी परियोजना मैं application.properties फ़ाइल के अभाव से संबंधित त्रुटियों मिल परीक्षण करने की कोशिश

डेटाबेस प्रकार कोई नहीं के लिए एम्बेडेड डेटाबेस ड्राइवर वर्ग निर्धारित नहीं कर सकता। यदि आप एक एम्बेडेड डेटाबेस चाहते हैं तो कृपया क्लासपाथ पर एक समर्थित रखें।

मैं माता पिता के application.properties फ़ाइल लोड करने के बच्चे को परियोजना कैसे मिलता है? क्या मुझे मूल फ़ाइल में एक सिम्लिंक बनाना है, या क्या मैं स्पष्ट रूप से माता-पिता की प्रॉपर्टी फ़ाइल को @PropertySource के माध्यम से लोड करता हूं? इस परिदृश्य में अन्य लोग क्या करते हैं?

उत्तर

0

कॉन्फ़िगरेशन के लिए एक और मॉड्यूल बनाएं (चलो कॉन्फ़िगर करें) और कॉन्फ़िगर/src/main/resource/में अपना application.properties डालें।

कॉन्फ़िगरेशन मॉड्यूल को किसी भी मॉड्यूल पर निर्भरता के रूप में जोड़ें जो समान कॉन्फ़िगरेशन का उपयोग करता है और वहां आप जाते हैं।

संबंधित मुद्दे