প্রধান শ্রেণীর org.gradle.wrapper.GradleWrapperMain খুঁজে বা লোড করা যায়নি


166

আমি মতো স্থানীয় ডিরেক্টরি মুছে ফেলার মাধ্যমে পুরো প্রকল্পের পরিষ্কার ~/.gradle, ~/.m2 ~./androidএবং ~/workspace/project/.gradleএবং chosing File -> Invalidate Caches / Restart...অ্যান্ড্রয়েড স্টুডিওতে। এখন কমান্ড কার্যকর করা ./gradlewনিম্নলিখিত আউটপুট নিয়ে যায়:

usr$ ./gradlew tasks
Error: Could not find or load main class org.gradle.wrapper.GradleWrapperMain

বলার অপেক্ষা রাখে না, আমি খুব বেশি মুছে ফেলেছি, প্রশ্ন এটি আবার কীভাবে মেরামত করা যায়? কীভাবে এটি ঠিক করবেন আপনার কোনও ধারণা আছে?


4
gradle wrapperআপনার অনুপস্থিত কোডটি পুনরায় তৈরি করতে আপনার আবার দৌড়াতে সক্ষম হওয়া উচিত ... এটি ধরে নিচ্ছে আপনার কোনও উত্স নিয়ন্ত্রণ সেটআপ নেই।
সিজেস্তেহ্নো

আপনি কি আপনার মেশিনে গ্রেড ইনস্টল করেছেন? আপনি গ্রেডলয়ের পরিবর্তে নিয়মিত গ্রেডল চাওয়ার চেষ্টা করতে পারেন, সম্ভবত গ্রেডেলের মোড়কটি পুনরুদ্ধার করা উচিত।
RaGe

উত্তর:


133

আপনার গ্রেডের মোড়কটি অনুপস্থিত, ভাঙ্গা বা দূষিত।

গ্রেডেল র‍্যাপার কী:
gradlew গ্রেডেল র‍্যাপার এক্সিকিউটেবল - অন্য কোথাও উইন্ডোজ এবং শেল স্ক্রিপ্টে ব্যাচ স্ক্রিপ্ট। যখন মোড়ক স্ক্রিপ্টটি চাওয়া হয়, তখন সংজ্ঞায়িত গ্রেডেল সংস্করণ ডাউনলোড করে এটি কার্যকর করে। আপনার প্রকল্পের সাথে মোড়ক বিতরণ করে, যে কেউ গ্রেডল আগে ইনস্টল করার প্রয়োজন ছাড়াই এটির সাথে কাজ করতে পারে। আরও ভাল, বিল্ডটির ব্যবহারকারীরা গ্রেডলের যে সংস্করণটি কাজ করার জন্য ডিজাইন করেছিলেন তা ব্যবহার করার নিশ্চয়তা রয়েছে ed

গ্রেডের মোড়কের পুনরুদ্ধার:
এটি এমন হত যে wrapperগ্রেডের মোড়ক এবং এর সমস্ত নির্ভরতা পুনরুদ্ধার করতে আপনার বিল্ড.gradle এ কোনও কাজ যুক্ত করা দরকার । এই ক্ষেত্রে:

task wrapper(type: Wrapper) {
    gradleVersion = '4.1'
}

গ্রেডের নতুন সংস্করণগুলির জন্য এটির প্রয়োজন হয় না। এটি এখন একটি অন্তর্নির্মিত কাজ। শেষ ঘন্টা:

gradle wrapper

সংস্করণ ইত্যাদি নির্দিষ্ট করতে আপনি অতিরিক্ত পতাকা সরবরাহ করতে পারেন

gradle wrapper --gradle-version 6.2 --distribution-type all

আপনি যখন এই কাজটি চালান, তখন একটি গ্রেডেল র‍্যাপার স্ক্রিপ্ট এবং প্রয়োজনীয় জার ফাইলগুলি আপনার উত্স ফোল্ডারে যুক্ত করা হয়। বৈশিষ্ট্যগুলি গ্রেড / মোড়ক / গ্রেডেল / ওয়েপার.প্রোপার্টিগুলিতে সংরক্ষণ করা হয়

(এটি চালানোর জন্য আপনার স্থানীয়ভাবে গ্রেড ইনস্টল করার প্রয়োজন হতে পারে brew install gradleinstance উদাহরণস্বরূপ ম্যাকের জন্য more আরও বিশদ নির্দেশাবলী এখানে দেখুন )

কেন এটি প্রথম স্থানে অনুপস্থিত ছিল?
ওপিকে এমন কিছু মুছে ফেলা হয়েছে যা গ্রেডের মোড়কের উপর নির্ভর করে।

তবে একটি সাধারণ কারণ হ'ল .gitignore এন্ট্রি র‌্যাপার জারগুলিকে গিটে পরীক্ষা করা থেকে বিরত করে। নোট করুন যে কার্যকরভাবে .gitignore উত্স ফোল্ডারে বা আপনার ব্যবহারকারী হোম ফোল্ডারে কোনও গ্লোবাল হতে পারে বা গিট গ্লোবাল কনফিগারেশন। *.jar.Gitignore এ প্রবেশ করা সাধারণ ।

আপনি .gitignore এ গ্রেডলয়ের জার ফাইলগুলির জন্য একটি ব্যতিক্রম যুক্ত করতে পারেন

*.jar
!gradle/wrapper/gradle-wrapper.jar

বা জোর করে গিটারের মধ্যে মোড়ক জার যুক্ত করুন

git add -f gradle/wrapper/gradle-wrapper.jar

রেফ: গ্রেডল র্যাপার


1
আপনাকে অনেক ধন্যবাদ!
SePröbläm

8
এই ত্রুটির আরও একটি সম্ভাব্য কারণ হ'ল গ্রেড / মোড়ক / গ্রেডেল-র্যাপার.জার ফাইলটি এক্সিকিউটেবল নয়, যেমন আপনি উইন্ডোজ থেকে ফাইলগুলি অনুলিপি করেছেন ...
কেন্দ্রিক

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

207

@ রাগির উত্তর ছাড়াও আমার এমন পরিস্থিতির মুখোমুখি হতে পারে যেখানে আমার কাছে বিশ্বব্যাপী গিট উপেক্ষা করা ছিল যা .jarফাইলগুলি উপেক্ষা করছে এবং তাই গ্রেডের মোড়কের জার কখনও প্রতিশ্রুতিবদ্ধ ছিল না। এইভাবে আমি চেষ্টা করার পরে জেনকিন্স সার্ভারে সেই ত্রুটিটি পাচ্ছিলাম /var/lib/jenkins/my_project/gradlew build। আমাকে স্পষ্টভাবে জারের একটি সংযোজন চাপাতে হয়েছিল এবং তারপরে প্রতিশ্রুতিবদ্ধ হয়েছিল:

git add -f gradle/wrapper/gradle-wrapper.jar

17
এটা আসলে সমস্যা ছিল। আমি বুঝতে পারি নি যে আমার কাছে একটি গ্লোবাল .gitignore ছিল।
amey91

1
সুন্দর. আমার ক্ষেত্রেও এটি ছিল।
ব্রেন্ডন

এটা ঠিক আমার সমস্যা ছিল ... ধন্যবাদ সাথী!
কলমজুন

গিটিহাব অ্যাকশনে সিআই / সিডিতে কাজ করছি এবং এটি আমার জন্য ছিল। ধন্যবাদ!
Andi

43

আমার জন্য যা কাজ করেছে তা হল প্রথম চালানো:

 gradle wrapper

সফল বিল্ড পরে আমি চালাতে সক্ষম হয়েছিল

./gradlew assembleRelease

দ্রষ্টব্য: gradle wrapperপ্রথম রান চালাতে সক্ষম হতে brew install gradle। যদি gradle wrapperপ্রকল্পটি রুট থেকে ইনস্টলেশন সফল হয় ।

উত্স এবং ধন্যবাদ: http://gradle.org/docs/current/userguide/gradle_wrapper.html এবং https://stackoverflow.com/users/745574/rage


1
যদি এই কমান্ডটি কাজ না করে তবে AS এ ডানদিকে গ্রেডল প্যানেল রয়েছে। ক্লিক করুনGradle->ProjectName->ProjectName->Tasks->build setup->wrapper
জেমশিত ইস্কেন্দ্রভ

আমার জন্য কাজ করছি।
negrotico19

হ্যাঁ, ইন্টেলিজ আইডিইতে আমার স্প্রিংবুট প্রকল্পে একই সমস্যা ছিল, এই পরামর্শটি সমস্যার সমাধান করেছে। আপনাকে ধন্যবাদ_নিকলসিংভার
কে

41

আমার ক্ষেত্রে এটি একটি বিশ্বব্যাপী ছিল .gitignore, যেমন @ হ্যাঙ্ককার উত্তরে ব্যাখ্যা করা হয়েছে

জোর করে জারটি যুক্ত করার পরিবর্তে, যা প্রতিটি গ্রেডেল প্রকল্পে আপনাকে মনে রাখা দরকার, আমি আমার গ্লোবালটিতে মোড়কের জারটিকে পুনরায় অন্তর্ভুক্ত করার জন্য একটি ওভাররাইড যুক্ত করেছি .gitignore:

*.jar
!gradle/wrapper/gradle-wrapper.jar

এটি আমার পক্ষে দরকারী কারণ আমার অনেকগুলি প্রকল্প রয়েছে যা গ্র্যাডল ব্যবহার করে; গিট এখন আমাকে মোড়কের জারটি অন্তর্ভুক্ত করার জন্য মনে করিয়ে দেবে।

এই ওভাররাইডটি এতক্ষণ কাজ করবে যতক্ষণ না উপরের কোনও ডিরেক্টরি gradle-wrapper.jar(যেমন gradleএবং wrapper) উপেক্ষা করা হয় - কার্য সম্পাদনের কারণে গিট উপেক্ষা করা ডিরেক্টরিগুলিতে নেমে আসবে না


হ্যাঁ আমার ক্ষেত্রেও সমস্যাটি একই
সিলেন্টসডো

22

আমার ক্ষেত্রে, wrapperফোল্ডারটি অনুলিপি করার সময় আমি সাব ফোল্ডারটি রেখে দিয়েছি gradleএবং একই ত্রুটি পেয়েছি।

প্রধান শ্রেণীর org.gradle.wrapper.GradleWrapperMain খুঁজে বা লোড করা যায়নি

আপনি যদি অন্য স্থান থেকে মোড়ক অনুলিপি করেন তবে আপনার সঠিক ফোল্ডার কাঠামো রয়েছে তা নিশ্চিত করুন।

├── build.gradle
├── গ্রেড
Pper └── মোড়ক
├── ├── গ্রেড-র্যাপার.জার
└── le গ্রেড- Wrapper.properties
├── গ্রেডলিউ
├── গ্রেডল.ব্যাট
└── settings.gradle

আপনি কেন মোড়ক অনুলিপি করবেন? কেবল সম্পাদন gradle wrapperকরলে আপনাকে ঠিক একই ফলাফলটি দেওয়া হবে;)
জেরুস

@ জেরাস, কিছু কর্পোরেট এনভিটিতে নেটওয়ার্কের বিধিনিষেধ রয়েছে যা আপনি নিখরচায় প্যাকেজ ডাউনলোড করতে পারবেন না। এক্ষেত্রে আপনাকে কপি / মুভ করতে হবে।
ইয়ন্তাক

8

আপনি সম্ভবত আপনার প্রকল্পের gradle-wrapper.jarডিরেক্টরি অধীন ফাইল অনুপস্থিত gradle/wrapper

নীচের মতো build.gradle ফাইলটিতে আপনাকে এই স্ক্রিপ্টের মাধ্যমে এই ফাইলটি তৈরি করতে হবে,

task wrapper(type: Wrapper) {
   gradleVersion = '2.0' // version required
}

এবং রান টাস্ক:

gradle wrapper

গ্রেড ২.৪ (বা উচ্চতর) দিয়ে আপনি কোনও ডেডিকেটেড টাস্কটি যুক্ত না করে একটি মোড়কের সেট আপ করতে পারেন:

gradle wrapper --gradle-version 2.3

অথবা

gradle wrapper --gradle-distribution-url https://myEnterpriseRepository:7070/gradle/distributions/gradle-2.3-bin.zip

সমস্ত বিবরণ এই লিঙ্ক পাওয়া যাবে


"গ্রেডেল মোড়কের জন্য উইন্ডোজ 10-এ প্রচুর ত্রুটি - গ্রেডেল-বিতরণ-ইউআরএল আমার ইন্টারপ্রাইজ রিপোসিটরি: 7070 / গ্রেড / বিতরণ /… "
প্রেম এবং শান্তি - জো কোডসওয়েল

হ্যাঁ, সমস্যাটি gradle/wrapperদির বিষয়বস্তু অনুপস্থিত । gralde wrapperআপনি যেমন বলেছিলেন তেমন চালিয়েও এর প্রতিকার করা যেতে পারে ।
ইউরি

যদি এই কমান্ডটি কাজ না করে তবে AS এ ডানদিকে গ্রেডল প্যানেল রয়েছে। ক্লিক করুনGradle->ProjectName->ProjectName->Tasks->build setup->wrapper
জেমশিত ইস্কেন্দ্রভ

4

আপনি গ্রেডলেভ.বাটকে আপনার মূল ফোল্ডারে অনুলিপি করতে পারেন এবং গ্রেডলিউ-রেপারকে গ্রেডলিউ ফোল্ডারে অনুলিপি করতে পারেন।

এটা আমার জন্য কাজ


4

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

git add -f gradle/wrapper/gradle-wrapper.jar
git add -f gradle/wrapper/gradle-wrapper.properties

3

আমার ক্ষেত্রে (উইন্ডোজ 10 ব্যবহার করে) গ্রেডলিও.ব্যাট-এ নিম্নলিখিত কোডের লাইন রয়েছে:

set DIRNAME=%~dp0
if "%DIRNAME%" == "" set DIRNAME=.
set APP_BASE_NAME=%~n0
set APP_HOME=%DIRNAME%

অ্যাপ্লিকেশনটির ভেরিয়েবলটি মূলত এই প্রকল্পের জন্য গ্রেডের মূল ফোল্ডার, সুতরাং, যদি এটি কোনওভাবে গোলমাল হয়ে যায় তবে আপনি যাচ্ছেন:

ত্রুটি: প্রধান শ্রেণীর org.gradle.wrapper.GradleWrapperMain খুঁজে বা লোড করা যায়নি

আমার জন্য, এটি বিশৃঙ্খলাযুক্ত হয়েছিল কারণ আমার প্রকল্পের ফোল্ডারের কাঠামোটিতে একটি অ্যাম্পারস্যান্ড (&) ছিল। উদাহরণস্বরূপ: \ পরীক্ষা ও দেব \ মাইপ্রজেক্ট

সুতরাং, গ্রেড সি-র মূল ফোল্ডারে গ্রেড-র্যাপার.জার ফাইলটি সন্ধান করার চেষ্টা করছিল: \ পরীক্ষা ('এবং' এর পরে এবং সমস্ত কিছু সরিয়ে ফেলা)

আমি উপরের অ্যাপ্লিকেশন TAG_OM =% DIRNAME% লাইনের নীচে নিম্নলিখিত লাইনটি যুক্ত করে এটি পেয়েছি। তারপরে ফলাফলটি দেখতে ব্যাট ফাইলটি চালান।

echo "%APP_HOME%"

আরও কয়েকটি 'বিশেষ অক্ষর' থাকবে যা কোনও পথ / ডিরেক্টরিকে ভেঙে দিতে পারে।


2

আমি একই ত্রুটি দেখেছি কিন্তু আমার ক্ষেত্রে এটি এলএফএস ইনস্টল না করে একটি নতুন গিট ইনস্টলেশন ছিল। প্রশ্নে থাকা রেপোটি এলএফএসের সাথে সেট আপ করা হয়েছিল এবং গ্রেডেল-র্যাপার.জার এলএফএসে ছিল সুতরাং এতে কেবল এলএফএস সার্ভারে একটি পয়েন্টার রয়েছে। সমাধানটি সহজ ছিল, কেবল চালান:

git lfs install

এবং একটি তাজা ক্লোন কৌশলটি করেছে। আমি মনে করি git lfs pullবা কেবল একজন git pullএটির জন্য সহায়তা করতে পারে তবে সমস্যাযুক্ত ব্যক্তি পরিবর্তে একটি নতুন ক্লোন করার সিদ্ধান্ত নিয়েছে।


1

@ হ্যাঙ্ককা আমার ক্ষেত্রেও সমস্যার সমাধান করেছে। আমি ভবিষ্যতে এই জাতীয় সমস্যা এড়াতে চাইলে আমার বিপজ্জনক **/*.jarউপেক্ষাগুলি স্ব-বর্ণনামূলক বিষয়গুলিতে পরিবর্তন করার সিদ্ধান্ত নিয়েছি src/**/lib/*.jar। ** / * দিয়ে শুরু করা উপেক্ষা কিছুটা বিপজ্জনক, কমপক্ষে আমার কাছে। এবং .gitignore সারিটির পিছনে ধারণাটি দেখার জন্য এটি ঠিক সর্বদা একটি ভাল ধারণা।


1

আমার ক্ষেত্রে গ্রেড-র্যাপার.জার একটি গুচ্ছ ফাইল প্রতিস্থাপনের পরে দূষিত হয়ে পড়েছে। মূলটিতে ফিরে যাওয়া সমস্যার সমাধান করেছে।


1
আরে @ নীক স্বাগতম স্ট্যাক ওভারফ্লোতে আপনাকে নতুন প্রশ্নের উত্তর দিন দয়া করে এই প্রশ্নের ইতিমধ্যে 4 টিরও বেশি উত্তর গৃহীত হয়েছে সুতরাং দয়া করে সেই অংশটিতে মনোনিবেশ করুন।
দিলিপ

2
নিশ্চিত! উপরের সমস্ত গৃহীত উত্তরগুলি আমাকে সাহায্য করেনি তাই আমি যা আমাকে সাহায্য করেছি তা রেখেছি।
নেক

1

আমি এই সমস্যাটি পরবর্তী সমাধানের সাথে সংশোধন করেছি (সম্ভবত এটি কাউকে সহায়তা করবে):

আপনার প্রকল্প ফোল্ডারের মূল পাতাগুলিতে ফাঁকা জায়গা বা অন্যান্য নিষিদ্ধ অক্ষরের নাম রয়েছে কিনা তা পরীক্ষা করে দেখুন। যদি হ্যাঁ - এটি অপসারণ।

"সি: \ ব্যবহারকারীগণ \ কিছু ব্যবহারকারী \ পরীক্ষামূলক প্রকল্প \ টেস্টপ্রজ" - এই ক্ষেত্রে "টেস্ট প্রকল্পগুলি" "টেস্টপ্রজেক্টস" হওয়া উচিত।



0

আমার ক্ষেত্রে, আমি প্রকল্প থেকে গ্রেডলিউ এবং গ্রেডল ফোল্ডারগুলি সরিয়ে দিয়েছিলাম। ইন্টেলিজের গ্রেডেল প্রজেক্ট উইন্ডো থেকে "রান গ্র্যাডল টাস্ক" এর মাধ্যমে পরিষ্কারের বিল্ড টাস্কগুলি পুনরায় করুন ran

এখানে চিত্র বর্ণনা লিখুন



0

যদি এটি কোনও নতুন প্রকল্প হয় তবে বিদ্যমান ফোল্ডারটি সরিয়ে ফেলুন এবং install npm ইনস্টল করুন -জি রিএ্যাক্ট-নেটিভ-ক্লিমে চালান

কোনও ত্রুটি ছাড়াই চলমান পরীক্ষা করুন

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