मैं इस को हल करने के प्लगइन गुण का इस्तेमाल किया ।
गुणों को पोम में परिभाषित किया गया है, और my.properties फ़ाइल में लिखा गया है, जहां उन्हें आपके जावा कोड से एक्सेस किया जा सकता है।
<configuration>
<outputFile>${project.build.testOutputDirectory}/my.properties</outputFile>
</configuration>
उपयोग outputDirectory यदि आप गुण आपके द्वारा सुलभ होना चाहते हैं:
मेरे मामले में यह परीक्षण कोड, इस गुण फ़ाइल का उपयोग करने की जरूरत है कि इतने पोम में गुण फ़ाइल Maven के testOutputDirectory को लिखा है एप्लिकेशन कोड:
<configuration>
<outputFile>${project.build.outputDirectory}/my.properties</outputFile>
</configuration>
एक संपूर्ण उदाहरण के लिए देख रहे लोगों के लिए (यह मुझे इस काम के पाने के लिए नगण्य का एक सा ले लिया के रूप में मैं समझ में नहीं आया कैसे गुण टैग के नामकरण उन्हें पोम फ़ाइल में कहीं और पुनः प्राप्त करने की क्षमता को प्रभावित), मेरा पोम एफ के रूप में दिखता है ollows:
<dependencies>
<dependency>
...
</dependency>
</dependencies>
<properties>
<app.env>${app.env}</app.env>
<app.port>${app.port}</app.port>
<app.domain>${app.domain}</app.domain>
</properties>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.20</version>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>properties-maven-plugin</artifactId>
<version>1.0.0</version>
<executions>
<execution>
<phase>generate-resources</phase>
<goals>
<goal>write-project-properties</goal>
</goals>
<configuration>
<outputFile>${project.build.testOutputDirectory}/my.properties</outputFile>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
और कमांड लाइन पर:
mvn clean test -Dapp.env=LOCAL -Dapp.domain=localhost -Dapp.port=9901
तो इन गुणों जावा कोड से पहुँचा जा सकता:
java.io.InputStream inputStream = Thread.currentThread().getContextClassLoader().getResourceAsStream("my.properties");
java.util.Properties properties = new Properties();
properties.load(inputStream);
appPort = properties.getProperty("app.port");
appDomain = properties.getProperty("app.domain");
सीधे नहीं हैं कि क्या आप के लिए, लेकिन [Maven पूछ रहे हैं प्रोफाइल] (http://maven.apache.org/guides/introduction/introduction-to-profiles.html) इस – Sig
के लिए उपयोगी हो सकता है हाँ, मुझे प्रोफ़ाइल के बारे में पता है। मैं maven-soapui-plugin का उपयोग कर रहा हूं जहां में ... projectFile> प्रोजेक्ट का निश्चित नाम है। मेरे पास लगभग 10 प्रोजेक्ट है और मैं प्रत्येक प्रोजेक्ट की नई प्रोफ़ाइल के लिए नहीं चाहता हूं। मैं mvn चलाने के लिए तर्क का उपयोग करना चाहता हूं ... प्रोजेक्ट 1 प्रोजेक्ट 1 और एमवीएन चलाने के लिए ... प्रोजेक्ट 2 प्रोजेक्ट 2 –
hudi