आपके द्वारा वर्णित व्यवहार पूरी तरह से सामान्य है।
src/package1/A.java
test/package1/ATest.java
अपने ATest.java
में एक import package1.A;
नहीं है।
अपने पुनर्संशोधित के बाद, यह इस तरह दिखता है:
src/package2/A.java
test/package1/ATest.java
परीक्षण कोड रुके थे, जहां वह था। आपने टेस्ट कोड नहीं ले लिया, लेकिन आपका स्रोत कोड। यह किसी भी अन्य फ़ोल्डरों को प्रभावित नहीं करना चाहिए (जैसे आपके उदाहरण में)।
ATest.java
में संदर्भ अब import package2.A;
होना चाहिए। अन्यथा, रिफैक्टरिंग गलत हो गई।
फिर भी, आपके परीक्षणों को काम करना चाहिए, भले ही वे एक अलग निर्देशिका में हों। ऐसा इसलिए है क्योंकि आयात को रीफैक्टरिंग विधि द्वारा बदला गया था।
आप अपने फ़ोल्डर संरचना को साफ करना चाहते हैं, तो आप मैन्युअल पैकेज test/package1
test/package2
करने के लिए (मैं जानता हूँ कि, पैकेज package1
और package2
है नाम बदलने के लिए है, लेकिन मैं पर फ़ोल्डर संरचना फोकस को मजबूत करना चाहते हैं।
मुझे आशा है कि मैं आपकी मदद कर सकता है
मुझे डर है कि मैं आपके प्रश्न को समझ नहीं पा रहा हूं। क्या आप कुछ और जानकारी प्रदान कर सकते हैं? इससे इस प्रश्न का उत्तर देने में मदद मिल सकती है (आपके लिए टिप्पणी करने में सक्षम होने के लिए +1) – guerda
मान लीजिए कि मेरे पास पैकेज xxx में कक्षा एएए है। कक्षा का गंतव्य src/xxx/AAA.java है, और मान लीजिए कि मेरे पास परीक्षण/xxx/AAATest.java पर स्थित एक परीक्षण है, इसलिए, जब मैं क्लास एएए को पैकेज करने के लिए स्थानांतरित करता हूं, तो मेरा परीक्षण xxx पैकेज पर रहता है। – dmitrynikolaev