2013-02-05 37 views
12

मेरी Maven परियोजना के pom.xml इस प्रकार दिखता में:।getClass() getResourceAsStream() Maven परियोजना

<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>groupId</groupId> 
    <artifactId>artifactId</artifactId> 
    <version>0.0.1-SNAPSHOT</version> 

    <build> 
    <sourceDirectory>src/main/java</sourceDirectory> 
    <resources> 
    <resource> 
    <directory>src/main/resources</directory> 
    </resource> 
    </resources> 
    </build> 
</project> 

src/मुख्य/संसाधन निर्देशिका में मैं एक फ़ाइल परीक्षण कहा जाता है।

System.out.println(this.getClass().getResourceAsStream("test")); 

कोड की पंक्ति ग्रहण के भीतर चलाया जाता है, मैं जब मैं निर्यात उत्पादन

[email protected] 

के रूप में मिलती है: src/मुख्य/जावा निर्देशिका में मैं एक वर्ग है कि निम्न पंक्ति शामिल है प्रोजेक्ट के रूप में प्रोजेक्ट और इसे चलाने के लिए मुझे आउटपुट

null 

क्या मैंने कुछ गलत कॉन्फ़िगर किया था?

+3

क्या कक्षा एक इकाई परीक्षण या वास्तविक उत्पादक वर्ग है? मैं एक उत्पादक वर्ग मानता हूँ। GetResourcesAsStream ("/ test") में getResourcesAsStream ("test") को बदलना होगा; – khmarbaise

+0

@khmarbaise आप सही हैं ... लेकिन यह ग्रहण के साथ क्यों काम कर रहा है ??? – ben75

+1

क्या यह परीक्षण संसाधन * src/main/resource * फ़ोल्डर में या * src/test/resource * फ़ोल्डर में पैकेज नाम के साथ या बिना स्थित है? इसके अलावा आपको * src/main/java * और * src/main/resource * फ़ोल्डर को कॉन्फ़िगर करने की आवश्यकता नहीं है, क्योंकि वे मेवेन में डिफ़ॉल्ट हैं। – khmarbaise

उत्तर

2

मुझे यह त्रुटि मिली लेकिन गुगलिंग के टन के माध्यम से, मुझे समाधान नहीं मिला। सभी उत्तरों पथ के बारे में कर रहे हैं, किसी को परवाह नहीं है कि यह ग्रहण में चला सकते हैं लेकिन निर्यात जार फ़ाइल :(में नहीं

लेकिन अब मैं समाधान नहीं मिला, इतना आसान: ग्रहण में सही अपने Maven परियोजना> गुण पर क्लिक करें -> जावा का निर्माण पथ -> स्रोत टैब

आप की तरह एक पेड़ देख सकते हैं: Included (**/*.java) पर

MyProject/src 
    Ouput follder.. 
    Included (**/*.java) 
    Excluded 
    ... 

डबल क्लिक करें, हटाने मौजूदा एक तो यह बन Included (All) अब जार फ़ाइल :)

012 निर्यात
5

<build><resources> के तहत <include> नीचे के रूप में सुनिश्चित करें कि यह स्पष्ट रूप से इन फ़ाइलों को लाने और इसे निर्माण में शामिल करने के लिए मेवेन को बताएगा।

<build> 
    <resources> 
     <resource> 
      <directory>${basedir}/src/main/resources</directory> 
      <includes> 
       <include>**/*</include> 
      </includes> 
     </resource> 
    </resources> 
    ... 
    </build> 
+0

मैंने पाया कि वाक्यविन्यास शामिल है जो '**/*' –

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