2016-08-08 4 views
7

हमें विंडोज और मेवेन का उपयोग करके कई लोगों के साथ समस्या है, और मुझे संदेह है कि यह समस्या ${path.separator} के साथ है। उन्हें एक त्रुटि मिलती है कि एक निर्देशिका "डी: \ आधारित \ target/dist" मौजूद नहीं है। हमें यह त्रुटि मैक, लिनक्स और यूनिक्स सिस्टम पर नहीं मिलती है।

मैं ${project.build.directory}${path.separator}dist होने के लिए इसे बदलने के लिए चाहते हैं, लेकिन किसी Mac, ${path.separator} का मूल्य : और नहीं / है। अब मेरा निर्माण मैक पर असफल रहा है क्योंकि /Users/david/project/target:dist मान्य निर्देशिका नहीं है।

मैक पर ${path.separator} मैक पर / कैसे सेट कर सकता हूं?

+0

हमेशा आगे-स्लैश का उपयोग करें। मैवेन के लिए विंडोज़ पर बनाता है, '$ {project.build.directory}/dist' ठीक काम करता है (मैं विंडोज़ पर काम करता हूं और समस्याओं के बिना हर बार आगे slashes का उपयोग करता हूं), तो हो सकता है कि आपको कहीं और समस्या हो, मैवेन से संबंधित नहीं। क्या आप एक [mcve] पोस्ट कर सकते हैं? – Tunaki

+2

'$ [path.separator} का उपयोग न करें 'बस एक"/"का उपयोग करें। पथ के अलावा कई पथों के लिए विभाजक है उदाहरण के लिए PATH चर में जिसे आपको वहां की आवश्यकता नहीं है ... इसके अलावा पथ पर पथ। सेपरेटर है ";" ... आपको लक्ष्य में एक दूरस्थ फ़ोल्डर की आवश्यकता क्यों है? जिसे आपको किसी भी तरह परिभाषित करने की आवश्यकता है? – khmarbaise

+1

पाथ सेपरेटर पथ के बीच क्या होता है, पथ खंडों के बीच नहीं, नहीं? –

उत्तर

9

बस इस बंद करने के लिए ...

मैं ${file.separator} और नहीं ${path.separator} चाहता था। ${path.separator} पथों में निर्देशिका नामों को अलग करने के लिए उपयोग किया जाता है। विंडोज़ पर, यह ; और मैक और यूनिक्स पर, यह : है।

${file.separator} निर्देशिका विभाजक चिह्न है। विंडोज़ पर, यह \ और यूनिक्स और मैक पर यह `/ 'है।

मुझे उलझन में आया क्योंकि पुराने सिस्टम एक्स मैक पर, फ़ाइल विभाजक : था। मैं आमतौर पर केवल / का उपयोग करता हूं, लेकिन इस परियोजना में, यह काम नहीं करता है।

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