2017-10-23 13 views
6

यहाँ दी गई उदाहरण में:छवियों Vaadin स्प्रिंग आवेदन द्वारा सुलभ नहीं

https://vaadin.com/docs/framework/application/application-resources.html

छवियों-फ़ोल्डर आवेदन के वेब INF निर्देशिका के अंदर डाल दिया है।

मेरे वाडिन स्प्रिंग एप्लिकेशन में, मेरे पास वेब-आईएनएफ निर्देशिका नहीं है, इसलिए मैंने छवियों को फ़ोल्डर के अंदर "संसाधन" फ़ोल्डर में रखा है। समस्या

enter image description here

कि अपने आवेदन छवियों वहाँ तक नहीं पहुँच सकता है: यहाँ क्या "src/मुख्य/संसाधन" के अंदर और 'लक्ष्य' के अंदर फ़ोल्डर संरचना लग रहा है की तरह है। मैं हमेशा वही "फाइल नहीं मिला" अपवाद प्राप्त करता हूं।

मैं अलग रास्ता विवरण बाहर की कोशिश की, दूसरों के बीच में, निम्नलिखित:

VaadinService.getCurrent().getBaseDirectory().getAbsolutePath() + "images/pic.png" 

VaadinService.getCurrent().getBaseDirectory().getAbsolutePath() + "/classes/images/pic.png" 

VaadinService.getCurrent().getBaseDirectory().getAbsolutePath() + "/target/classes/images/pic.png" 

VaadinService.getCurrent().getBaseDirectory().getAbsolutePath() + "/applicationName/target/classes/images/pic.png" 

... कुछ भी नहीं काम किया !!

मैं इस छवियों को अपने वाडिन स्प्रिंग एप्लिकेशन के लिए कैसे सुलभ बना सकता हूं?

+1

आपका कोड बताता है कि आप छवि को * फ़ाइल संसाधन * के रूप में लोड करने का प्रयास कर रहे हैं। हालांकि, अगर फ़ाइल प्रोजेक्ट और क्लासपाथ पर है, तो क्या आप इसके बजाय * क्लास लोडर रिसोर्स * का उपयोग नहीं करना चाहते हैं? शायद आप छवि घटक बनाने के लिए उपयोग कर रहे कोड के साथ प्रश्न अपडेट कर सकते हैं? –

उत्तर

5

उदाहरण जो आपने लिंक किया है FileResource का उपयोग करता है। यह जार-पैक संसाधनों के साथ काम नहीं करेगा।

// Image as a file resource 
FileResource resource = new ThemeResource("images/image.png"); 

वैकल्पिक रूप से, src करने के लिए अपने संसाधन डाल/मुख्य/संसाधन/और फिर classpath से उस तक पहुंच:

अधिमानतः, आप अपने चित्रों src/main/resources/VAADIN/themes/{theme}/ में एक ThemeResource डाल सकते हैं और प्रयोग

getClass().getResourceAsStream("/images/image.png") 
+0

आपके उत्तर के लिए बहुत बहुत धन्यवाद, यह मेरी समस्या हल हो गया है ... यदि आपके पास समय है, तो कृपया मुझसे संबंधित एक और प्रश्न देखें (वास्तव में मैंने सोचा कि इस पोस्ट का जवाब यहां दूसरे को भी हल करेगा समस्या, लेकिन यह मामला नहीं था इसलिए मैंने अब इस दूसरी समस्या के लिए एक दूसरी पोस्ट बनाई है): https://stackoverflow.com/questions/46960392/how-to-create-file-on-server-with-file-path -relative करने वाली आवेदन –

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