Eclipse .classpath / .Project ফাইলটিতে কী আছে?


143

সম্প্রতি আমাদের একটি দলের সদস্যের জন্য একটি Elpipse প্রকল্প নিয়ে একটি সমস্যা হয়েছিল। টমক্যাট অ্যাপ্লিকেশনটির জেআর স্থাপন করছে না।

আমরা অবশেষে লক্ষ্য করেছি .classpath যে প্রকল্পের কাজটি ঠিক আছে সেখানে টিম সদস্যদের জন্য অ্যালিপ্স ফাইলটি একই রকম ছিল না। আমরা .classpathএমন একটি প্রকল্প থেকে ফাইলটি প্রতিস্থাপন করেছি যা ঠিক ছিল এবং টমক্যাট মোতায়েন সম্পূর্ণ হয়েছিল।

কৌতূহলের বাইরে এবং ভবিষ্যতে কোন কিছু ভুল হলে, ফাইল এবং ফাইলগুলির মধ্যে কী রয়েছে তা জানতে । আমি সেখানে কী যুক্ত করতে পারি, এর অর্থ কী?.classpath.project


.Classpath ফাইলটি জাভা সম্পর্কিত? এই প্রশ্নটি বেশিরভাগই ভাষা-অজ্ঞাতদৃষ্টিতে মনে হয় তবে এই উত্তর থেকে মনে হয় এটি কেবল জাভার সাথে প্রাসঙ্গিক।
কেসি কুবল all

সংশ্লিষ্ট, stackoverflow.com/questions/13960556/...
TT--

উত্তর:


144

গ্রহনটি প্লাগইনগুলির জন্য একটি রানটাইম পরিবেশ। ভার্চুয়ালি আপনি যেটি Eclipse এ দেখেন তা হ'ল Elpipse এ ইনস্টল করা প্লাগইনগুলির ফলাফল।

.projectফাইল কোর অন্ধকার প্ল্যাটফর্ম দ্বারা পরিচালিত হয়, এবং তার লক্ষ্য একটি জেনেরিক, প্লাগইনটি স্বাধীন অন্ধকার ভিউ থেকে প্রকল্পের বর্ণনা করা হয়। প্রকল্পের নাম কী? কর্মক্ষেত্রের অন্যান্য প্রকল্পগুলি এটি উল্লেখ করে? প্রকল্পটি নির্মাণের জন্য যে বিল্ডারগুলি ব্যবহৃত হয় সেগুলি কী কী? (মনে রাখবেন, "বিল্ড" ধারণাটি জাভা প্রকল্পগুলির সাথে বিশেষভাবে সম্পর্কিত নয়, তবে অন্যান্য ধরণের প্রকল্পের ক্ষেত্রেও রয়েছে)

.classpathফাইল অন্ধকার এর JDT বৈশিষ্ট্য (দ্বারা পরিচালিত হয় বৈশিষ্ট্য = প্লাগইনগুলির সেট)। জেডিটি প্রকল্পে এই জাতীয় একাধিক "মেটা" ফাইল ধারণ করে (প্রকল্পের .settingsভিতরে ডিরেক্টরিটি দেখুন ); .classpathফাইল শুধু তাদের মধ্যে অন্যতম। বিশেষত, .classpathফাইলটিতে এমন তথ্য রয়েছে যা জেডিটি বৈশিষ্ট্যটি প্রকল্পটি সঠিকভাবে সংকলনের জন্য প্রয়োজন: প্রকল্পের উত্স ফোল্ডার (এটি কী সংকলন করতে হবে); আউটপুট ফোল্ডার (যেখানে সংকলন করতে হবে ); এবং শ্রেণিপথ এন্ট্রি (যেমন ওয়ার্কস্পেসের অন্যান্য প্রকল্পগুলি, ফাইল সিস্টেমে নির্বিচারে জেআর ফাইলগুলি এবং আরও কিছু) forth

অন্ধভাবে এই ফাইলগুলি একটি মেশিন থেকে অন্য মেশিনে অনুলিপি করা ঝুঁকিপূর্ণ হতে পারে। উদাহরণস্বরূপ, যদি নির্বিচারে জেআর ফাইলগুলি শ্রেণিপথের উপরে স্থাপন করা হয় (যা, জেআর ফাইলগুলি যা কর্মক্ষেত্রের বাইরে অবস্থিত এবং পরম পাথ নামকরণ দ্বারা উল্লেখ করা হয়), .classpathফাইলটি বহনযোগ্য নয় এবং এটি পরিবর্তন করতে হবে সুবহ. .classpathফাইল বহনযোগ্যতার গ্যারান্টি জন্য কিছু সেরা অভ্যাস অনুসরণ করা যেতে পারে ।


58
এই পুরো বিষয়টির বহিরাগত হিসাবে, এই সমস্তটির অনুবাদ "গ্রহনটি কোনওভাবে প্রজেক্ট ওয়ার্কস্পেস ম্যানেজমেন্ট সম্পর্কে সমস্ত কিছুকে একটি অনির্বচনীয় কালো আর্টে রূপান্তরিত করে তোলে যা কারও পক্ষে বোঝা খুব কঠিন নয়"।
ওয়ারেন পি

1
@ আইসাক - কৌতূহলের বাইরে, যদি আমি আমার প্রকল্পটি পরিচালনা করি gitএবং এর Mavenঅর্থ আমি (সরলতার জন্য) একক srcফোল্ডারের ( ) সরল "হ্যালো ওয়ার্ল্ড" .javaফাইল ধারণ করে ) ভান্ডার (প্রকল্প) এর "মূল" ফোল্ডারটি এবং প্রকল্পের pox.xmlফাইল - তাই, 'আমি যদি সঠিকভাবে বোঝা, সেখানে কোন প্রয়োজন নেই (অথবা এমনকি অগত্যা কোন প্রয়োজন) রাখতে হবে: .project, .classpathএবং .settings/ফাইল / ফোল্ডার ভাল হিসাবে gitসংগ্রহস্থলে (ie- তাদের সাথে যাকে জোড়েন .gitignoreফাইল উদাহরণস্বরূপ)?
গাই অভ্রাহাম

1
@ গুয়াআভ্রাহাম যা আপনি কীভাবেগ্রহণের সাথে কাজ করবেন এবং বিশেষত - আপনি কীভাবে একটি কর্মক্ষেত্র শুরু করবেন তার উপর নির্ভর করে। আপনি কি নতুন কর্মক্ষেত্রে Eclipse শুরু করেন এবং তারপরে "বিদ্যমান মাভেন প্রকল্পগুলি আমদানি করুন" ব্যবহার করবেন? যদি তাই হয় তবে আপনি ঠিক বলেছেন - এই ফাইলগুলির কোনওটিরই সত্যই প্রয়োজন হয় না, কারণ m2eclipseএটি আপনার যত্ন নেবে (বা কমপক্ষে, এটি করার কথা বলেছে)।
ইসহাক

1
@ বুন্সিজে .projectথাকা উচিত নয় .gitignore। সম্পর্কিত .classpath- আপনি যদি ব্যবহার করেন m2eclipseএবং আপনার কর্মক্ষেত্রটি শুরুতে ম্যাভেন প্রকল্পগুলি আপডেট করার জন্য কনফিগার করা থাকে, তবে আপনাকে যুক্ত করে ঠিক করা উচিত তবে আমি নিজে এটি পরীক্ষা করি নি। .classpath.gitignore
ইসহাক

1
@ বুন্সিস কেবল সেই শেষ মন্তব্যটি সংশোধন করছেন। স্পষ্টতই, এম 2 ই আজকাল প্রকল্পগুলি কনফিগার করতে খুব ভাল কাজ করে। আমি সম্প্রতি প্রায় সব ধরণের জাভা প্রকল্পের কোডবেজে কাজ করেছি। আমি তাদের সব থেকে সরিয়েছি .projectএবং যুক্ত করেছি । সমস্ত কিছু ভালভাবে কাজ করে এবং গীটে খুব বেশি ঘন ঘন এই ফাইলগুলি অবিরাম আপডেট করার দরকার নেই। .classpath.gitignore
ইসহাক

37

.project

ওয়ার্কস্পেসে যখন কোনও প্রকল্প তৈরি করা হয়, তখন একটি প্রকল্পের বর্ণনা ফাইল স্বয়ংক্রিয়ভাবে উত্পন্ন হয় যা প্রকল্পটি বর্ণনা করে। এই ফাইলটির একমাত্র উদ্দেশ্য প্রকল্পটি স্ব-বর্ননা করা, যাতে কোনও প্রকল্প যা জিপ আপ করা হয় বা সার্ভারে ছেড়ে দেওয়া হয় অন্য কোনও কর্মক্ষেত্রে সঠিকভাবে পুনরায় তৈরি করা যায়।

.classpath

কোনও প্রকল্পে জাভা উত্স ফাইল এবং সংস্থান ফাইলগুলি জাভা নির্মাতা বিবেচনা করে এবং প্রকল্পের বাইরের প্রকারগুলি কীভাবে সন্ধান করতে হয় তা শ্রেণিপথ নির্দিষ্ট করে। জাভা নির্মাতা জাভা উত্স ফাইলগুলি আউটপুট ফোল্ডারে সংকলন করে এবং এতে সংস্থানগুলি অনুলিপি করে।


11

উল্লিখিত ফাইলগুলির জন্য সম্পূর্ণ রেফারেন্স উপলভ্য নয়, কারণ বিভিন্ন প্লাগইনগুলি সেগুলি বর্ধনযোগ্য।

মূলত,। প্রকল্প প্রকল্পগুলি বিল্ডার এবং প্রকল্প প্রকৃতি সেটিংসের মতো প্রকল্প-সেটিংস সঞ্চয় করে, যখন .classpath ফাইলগুলি চলমান চলাকালীন ক্লাসপাথটি সংজ্ঞায়িত করে। শ্রেণিপথ ফাইলগুলিতে এসসিআর এবং টার্গেট এন্ট্রি রয়েছে যা প্রকল্পের ফোল্ডারের সাথে সামঞ্জস্য করে; কন এন্ট্রিগুলি কিছু ধরণের "ভার্চুয়াল" এন্ট্রি, যেমন JVM libs বা গ্রহন প্লাগ-ইন নির্ভরতাগুলির ক্ষেত্রে (সাধারণ জাভা প্রকল্প নির্ভরতা আলাদা আলাদাভাবে প্রদর্শিত হয়, একটি বিশেষ src এন্ট্রি ব্যবহার করে) বর্ণনা করতে ব্যবহৃত হয়।


3

এই গ্রহপ ডকুমেন্টেশনে .projectফাইলের মার্কআপগুলিতে বিশদ রয়েছে : প্রকল্পের বর্ণনা ফাইল

এটি .projectফাইলটি বর্ণনা করে :

ওয়ার্কস্পেসে যখন কোনও প্রকল্প তৈরি করা হয়, তখন একটি প্রকল্পের বর্ণনা ফাইল স্বয়ংক্রিয়ভাবে উত্পন্ন হয় যা প্রকল্পটি বর্ণনা করে। এই ফাইলটির উদ্দেশ্য হল প্রকল্পটি স্ব-বর্ণনামূলক করা, যাতে কোনও প্রকল্প যা জিপ আপ করা বা সার্ভারে প্রকাশিত হয় অন্য কোনও কর্মক্ষেত্রে সঠিকভাবে পুনরায় তৈরি করা যায়। এই ফাইলটিকে সর্বদা "।" প্রকল্প বলা হয়

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.