গ্রেডল সরঞ্জামগুলি খুঁজে পায় না jar


160

আমি গ্রেডের সাথে জাভাডোক ডকলেট ব্যবহার করছি, সুতরাং আমার প্যাকেজ সরঞ্জামগুলি ব্যবহার করতে হবে jar jdk, যা jdk থেকে লিব ফোল্ডারে রয়েছে (আমার ক্ষেত্রে 1.6.0_26)।

মোদ্দা কথাটি হ'ল গ্রেড এটিকে স্বয়ংক্রিয়ভাবে গ্রহণ করে না, তাই আমি আমার লিব্স ফোল্ডারে সেই সরঞ্জাম প্যাকেজটি যুক্ত করেছিলাম এবং তারপরে এটিকে depend dependates.gradle এ যুক্ত করছি।

এখন আমি এটিকে আমার জেডিকে বাড়ি থেকে সরাসরি আমার নির্ভরতা.gradle এ নিতে চাই। এটা করার কোন উপায় আছে? আমি আমার নির্ভরতাগুলিতে পরবর্তীটি চেষ্টা করেছি উদাহরণ:

compile files("${System.properties['java.home']}/lib/tools.jar")

সংকলনের সময় এটি খুঁজে পায় না।


2
এটি উল্লেখ করার মতো যে, এটি সমাধানের প্রাক কার্সার হিসাবে এবং আমি যখন এটি পেয়েছিলাম তখন আপনাকে অবশ্যই নিশ্চিত করতে হবে যে আপনি আসলে একটি জেডিকে ইনস্টল করেছেন: পি এবং কিছু সিস্টেমে আপনি সরঞ্জাম.জার পেতে ডিভেল জেডিকে প্যাকেজ ইনস্টল করতে হবে
মুরুনি

উত্তর:


140

যখন আমি সি এল এলির মাধ্যমে কমান্ড চালানোর চেষ্টা করছিলাম তখন আমার এই সমস্যা হয়েছিল।

জেআরই ফোল্ডারটি দেখে সিস্টেমটিতে সমস্যা ছিল D:\Program Files\Java\jre8\bin। আমরা যদি সেখানে সন্ধান করি তবে সেখানে কোনও Tools.jarত্রুটি নেই।

JDKআমার ক্ষেত্রে এটি কোথায় আছে তা আপনার খুঁজে বের করতে হবে : D:\Program Files\Java\jdk1.8.0_11এবং আপনি যদি libডিরেক্টরিটিতে সন্ধান করেন তবে আপনি দেখতে পাবেন Tools.jar

যা আমি একটি নতুন পরিবেশের পরিবর্তনশীল তৈরি করেছি JAVA_HOME: এখানে চিত্র বর্ণনা লিখুন

এবং তারপরে আপনার জাভাওহোম অন্তর্ভুক্ত করতে আপনার PATH ভেরিয়েবলটি সম্পাদনা করতে হবে, অর্থাত্‍ %JAVA_HOME%/bin; এখানে চিত্র বর্ণনা লিখুন

কমান্ড প্রম্পট পুনরায় খুলুন এবং চালানো উচিত।


15
tool.jar হয় %JAVA_HOME%\lib;নেই binফোল্ডার।
GMsoF

5
মানে কি এই যে আমরা উভয় যোগ দিতে হবে %JAVA_HOME%/binএবং %JAVA_HOME%/libকরতে Pathপরিবর্তনশীল তারপর?
এরিক

3
যদিও সরঞ্জাম.জার সত্যই। Lib এ রয়েছে, কেবল সমাধান হিসাবে আমার পথে কাজ হিসাবে বিনটিতে যোগ করেছেন তবে কেন জিজ্ঞাসা করবেন না।
পিএইচপিরেট

1
পরিবর্তনগুলি কার্যকর করতে সাধারণত পুনঃসূচনা / লগআউট প্রয়োজন।
পুনর্নির্মাণ_জুফল

4
আমাকে PATH এন্ট্রি সি: \ প্রোগ্রামডেটা \ ওরাকল \ জাভা \ জাভাপাথটি সরিয়ে ফেলতে হয়েছিল এবং সি: \ প্রোগ্রামডাটা \ ওরাকল \ জাভা \ jdk1.8.xxx এটি বোন জেআরই ডিরেক্টরিতে ডিফল্ট করা হয়েছিল
জন

76

এটি পেয়েছি। সিস্টেমের সম্পত্তি 'java.home' JAVA_HOME পরিবেশের পরিবর্তনশীল নয়। জেভাএহোম জেডিকে নির্দেশ করে, যখন জাভা হুম জেআরইতে নির্দেশ করে। আরও তথ্যের জন্য এই পৃষ্ঠাটি দেখুন ।

সু ... আমার সমস্যাটি হ'ল যে আমার সূচনা পয়েন্টটি ছিল জেআর ফোল্ডার (সি: d জেডিকি ১.০.০২6 \ জেআর) এবং জেডিকি ফোল্ডারটি নয় (সি: \ jdk1.6.0_26) যেমনটি আমি ভেবেছিলাম (সরঞ্জাম.জার সিটিতে রয়েছে) : \ jdk1.6.0_26 \ lib ফোল্ডার)। নির্ভরশীলতাগুলিতে সংকলনের লাইনটি হতে হবে:

compile files("${System.properties['java.home']}/../lib/tools.jar")

28
সুতরাং, গ্রেডের সাথে আইডিতে java.home কীভাবে সেট করবেন?
চীনএক্সিং

73

গ্রিডেল টাস্কটি কার্যকর করার চেষ্টা করে Eclipse ব্যবহার করে আমি একই ত্রুটি পেয়েছি। আমি যতবারই কমান্ড চালাচ্ছি (অর্থাত যুদ্ধ) প্রক্রিয়াটি তার ব্যতিক্রম যেমন ছুঁড়ে দিয়েছে:

সরঞ্জামগুলি খুঁজে পাওয়া যায় নি jar দয়া করে পরীক্ষা করুন যে সি: \ প্রোগ্রাম ফাইলগুলি \ জাভা \ জে 8 "একটি বৈধ জেডিকে ইনস্টল।

আমি এই পোস্টে তালিকাবদ্ধ সমাধান চেষ্টা করেছি কিন্তু তাদের কেউই এই সমস্যাটি সমাধান করেনি। এখানে আমার সমাধান:

  1. "গ্রেডল টাস্ক" ভিউতে যান
  2. আপনি যে কার্যটি সম্পাদন করতে চান তাতে ডান ক্লিক করুন
  3. ওপেন গ্রেডল রান কনফিগারেশন নির্বাচন করুন
  4. "জাভা হোম" ট্যাবে আপনার স্থানীয় জেডিকে সংগ্রহস্থান নির্বাচন করুন এবং ঠিক আছে ক্লিক করুন

আবার দৌড়াও, উপভোগ কর!


2
কয়েক ঘন্টা অনুসন্ধানের পরে আমি এই উত্তরটি পেয়েছি এবং এটি অবশেষে কার্যকর হয়েছে। তোমাকে অনেক ধন্যবাদ!
অ্যালান 47

5
আমি ওপেন গ্রেডল রান এবং জাভা হোম সন্ধান করতে পারি না। আপনি আরও ব্যাখ্যা করতে পারেন?

এটির ক্ষেত্রে নতুন হয়ে কীভাবে একজন "গ্রেডল টাস্ক" ভিউতে যাবে? আমি ভিউ মেনুতে গ্রেডল কিছুই দেখতে পাচ্ছি না, বা এমন কিছুর লেবেলযুক্ত কিছু নেই?
ড্রোনজ

48

আমি gradle.propertiesনিম্নলিখিত কন্টেন্ট সহ একটি ফাইল যুক্ত করেছি :

org.gradle.java.home=C:\\Program Files\\Java\\jdk1.8.0_45

5
লিনাক্সে, আপনি ~/.gradle/gradle.propertiesযুক্ত করে ফাইল সম্পাদনা করতে পারেন org.gradle.java.home=/usr/lib/jvm/java। ফেডোরা 24 এ আমার জন্য কাজ করে
samsong8610

36

উবুন্টু ব্যবহার করে আমারও একই ঘটনা ঘটেছিল । মেশিনটিতে কেবল জেআরই ইনস্টল করা ছিল। সুতরাং, আমি জেডিকে ইনস্টল করতে কেবল নীচের কমান্ডটি কার্যকর করেছি ।

sudo apt install openjdk-8-jdk


1
হ্যাঁ, জেআরইয়ের পরিবর্তে জেডিকে ইনস্টল করাও আমার সমস্যার সমাধান করেছে।
peschü

20

আমি এই সমাধানের জন্যও লড়াই করে যাচ্ছিলাম। এখানে বর্ণিত গ্র্যাডলের সাথে এর আরও ভাল উপায় খুঁজে পেয়েছে । আমরা গ্র্যাডল থেকেই জেভিএম / জেডিকে তথ্য পেতে পারি।

dependencies {
   runtime files(org.gradle.internal.jvm.Jvm.current().toolsJar)
}

খুবই সোজা.


3
আমি compileপরিবর্তে এটি ব্যবহার করলে এটি আমার পক্ষে কাজ করেruntime
ডরি

আমি এই সমাধানটি পছন্দ করি। এটি সুন্দর এবং বহনযোগ্য।
আদম প্লাম্ব

4
এই সমাধানটি গ্রেডেল ৪.x এর সাথে কাজ করে না। আমি একটি পেতে NullPointerException
থান্ডারফোরজ

1
সর্বশেষ জেডিকে সহ কোনও সরঞ্জাম.জার উপলব্ধ নেই যখন আমি এটি নালার দিকে ফিরে আসতে পারি। Github.com/gradle/gradle/blob/master/subprojects/base-services/…
মোহাম্মদ

17

CentOS7 এ বিকাশ প্যাকেজটি সরঞ্জাম.জার ইনস্টল করবে। ফাইলটি জাভা-১.৮.০-ওপেনজেডকে উপস্থিত নেই

sudo yum install java-1.8.0-openjdk-devel


ধন্যবাদ রিচার্ড! এটা সত্যিই আমাকে সাহায্য করেছে! আমি "রিএ্যাক্ট-নেটিভ রান-অ্যান্ড্রয়েড" চালানোর চেষ্টা করে ত্রুটিটি পেয়ে যাচ্ছিলাম: * কী ভুল হয়েছে: টাস্কের জন্য মৃত্যুদণ্ড ব্যর্থ হয়েছে ': অ্যাপ: সংকলনডেবগ জাভা উইথজ্যাভ'। > সরঞ্জাম.জার খুঁজে পাওয়া যায়নি। অনুগ্রহ করে পরীক্ষা করুন / দফতর / লিবি / জেভিএম / জাভা-1.8.0-openjdk-1.8.0.161-5.b14.fc27.x86_64/jre একটি বৈধ JDK ইনস্টলেশন রয়েছে। এখন এটি কাজ করছে! আবার ধন্যবাদ!
ম্যাথিউস গন্টিজো

ধন্যবাদ রিচার্ড..এটি আমার পক্ষেও কাজ করেছে। মূলত এটি একটি জাভা_হোম পথের সমস্যা ছিল যা কাঙ্ক্ষিত জাভা জেডি কে পাথে সরঞ্জাম.জার খোঁজার চেষ্টা করেছিল।
rajdeepbs29

16

এটি এতে যুক্ত করুন gradle.properties:

org.gradle.java.home = C: \ প্রোগ্রাম ফাইলসমূহ জাভা \ jdk1.8.0_91


7
ডাবল ব্যাক স্ল্যাশ ব্যবহার করতে ভুলবেন না। উদাহরণস্বরূপ: org.gradle.java.home=C:\\Program Files\\Java\\jdk1.8.0_144\
কুলমাইন্ড

11

এটি আরও দু'বছর হতে পারে, তবে আমি সম্প্রতি একই সমস্যায় পড়েছি এবং এই পোস্টটি সন্ধানের পরে আমি এই সমাধানটি শেষ করেছি :

import javax.tools.ToolProvider

dependencies {
  compile (
    files(((URLClassLoader) ToolProvider.getSystemToolClassLoader()).getURLs()),
    ...
  }
}

এটি কাজ করা উচিত যদি java.home কোনও ডিরেক্টরিতে নির্দেশ করে যা JDK ডিরেক্টরিের অধীন নয় এমনকি ম্যাক ওএসেও যেখানে আপনার সরঞ্জাম.জারের পরিবর্তে ক্লাস.জার থাকতে হবে।


পদ্ধতি getURLs () নাল বস্তুর উপর ডাকা করতে পারবে না
ভবিষ্য

10

সেন্টোস With সহ, আমি খুঁজে পেয়েছি যে কেবল জেডিকে রয়েছে tools.jar, যখন জেআরই নেই । আমি জাভা 8 জেআরই ( yum install java-1.8.0-openjdk) ইনস্টল করেছি , তবে জেডিকে ( yum install java-1.8.0-openjdk-devel) নেই।

পরে ইনস্টল করা সমস্যার সমাধান করে। এছাড়াও, সেট করতে মনে রাখবেন JAVA_HOME


9

উইন্ডোজ 10 এ, আমি একই সমস্যাটির মুখোমুখি হই এবং এইভাবে আমি সমস্যাটি স্থির করেছি;

  1. প্রবেশ Advance System Settings>Environment Variables>System Variables
  2. PATH ডিফল্ট ওভাররাইট নির্বাচন করুনC:\ProgramData\Oracle\Java\javapath
  3. আপনার নিজস্ব জেডিকে ইনস্টলেশন সহ যা জাভাআহোম =C:\Program Files\Java\jdk1.8.0_162

এটি উইন্ডোজের জন্য গ্রহণযোগ্য উত্তর হওয়া উচিত :)
আহওয়াল ২

6

আমার সিস্টেমে (উইন 10, জেআরই 1.8.0, অ্যান্ড্রয়েড স্টুডিও 3.1.2, গ্রেডেল 4.1) জেআরই tools.jarডিরেক্টরিতে ( C:\Program Files\Java\jre1.8.0_171) নেই।

যাইহোক, আমি এটি খুঁজে পেয়েছি C:\Program Files\Android\Android Studio\jre\libএবং সেটিং চেষ্টা করেছিJAVA_HOME=C:\Program Files\Android\Android Studio\jre

সেটা আমার জন্য কাজ করে)!


একই সমস্যা, এটি আমার জন্য স্থির করুন, 10 / অ্যান্ড্রয়েড স্টুডিওও জিতুন। এছাড়াও, উপরোক্ত সমাধানগুলির কোনওটিই "সরঞ্জাম.জার" ডাউনলোড করার কথা বলে মনে হচ্ছে না ... কেবল জেরের সাথে আসে না)
এরিক অ্যারোনস্টি

আমার জন্যও কাজ করেছেন। আমি প্রজেক্টের মূলটিতে গ্রেড.প্রোপার্টি তৈরি করেছিorg.gradle.java.home=E:\\Android Studio\\jre
br4nnigan

3

লিনাক্স

ন্যানো বা জিডিটের/etc/environment মতো কোনও পাঠ্য সম্পাদককে খুলুন এবং নিম্নলিখিত লাইনটি যুক্ত করুন:

JAVA_HOME="/usr/lib/jvm/open-jdk"

উইন্ডোজ

  1. সিস্টেম কন্ট্রোল প্যানেল অ্যাপলেট শুরু করুন (স্টার্ট - সেটিংস - কন্ট্রোল প্যানেল - সিস্টেম)।
  2. উন্নত ট্যাবটি নির্বাচন করুন।
  3. পরিবেশ পরিবর্তনশীল বোতামটি ক্লিক করুন।
  4. সিস্টেম ভেরিয়েবলের অধীনে, অ্যাড বোতামটি ক্লিক করুন, তারপরে নিম্নলিখিত লাইনগুলি পেরেক:

    পরিবর্তনশীল নাম: JAVA_HOME

    পরিবর্তনশীল মান: C:\Program Files\Java\jdk1.x.x_xxx

    যেখানে x.x_xxxjdk সংস্করণ আপনি এখান থেকে আপনার jdk সংস্করণ পেতে পারেনC:\Program Files\Java

  5. সিস্টেম ভেরিয়েবলের অধীনে, পথটি নির্বাচন করুন, তারপরে সম্পাদনা ক্লিক করুন, তারপরে নতুন বোতামটি ক্লিক করুন এবং নীচের লাইনটি পেরিয়ে যান:

    %JAVA_HOME%/bin;


পথগুলি কিছুটা পৃথক হতে পারে। JAVA_HOME="/usr/lib/jvm/java-openjdk"
ফেডোরায় এটি

3

এটি আমার পক্ষে কাজ করেছে:

আমি বার্তা পাচ্ছিলাম

কার্য ': অ্যাপ্লিকেশন: সংকলন ডেবিগজবা উইথজ্যাভ্যাক' এর জন্য কার্যকর করা ব্যর্থ হয়েছে।

সরঞ্জামগুলি খুঁজে পাওয়া যায় নি jar দয়া করে পরীক্ষা করুন যে সি: \ প্রোগ্রাম ফাইলগুলি \ জাভা \ jre1.8.0_121 এ একটি বৈধ জেডিকে ইনস্টলেশন রয়েছে।

  • অ্যান্ড্রয়েড স্টুডিওতে, আপনার এসডিকে অবস্থান পরীক্ষা করুন।
  • ফাইল, প্রকল্পের কাঠামো, এসডিকে অবস্থান, জেডিকে অবস্থান।
  • উদাহরণ: সি: \ অ্যান্ড্রয়েড-স্টুডিও \ অ্যান্ড্রয়েড-স্টুডিও \ জেআর
  • সি: \ এন্ড্রয়েড-স্টুডিও \ অ্যান্ড্রয়েড-স্টুডিও \ জেআর \ লিব ফোল্ডারে সি: \ প্রোগ্রাম ফাইলস \ জাভা \ jre1.8.0_121 \ লাইব ফোল্ডারে সিলে টুলস.জার ফাইলটি অনুলিপি করুন।
  • পুনরায় চেষ্টা করা.

3

আপনি যদি নির্মাণের জন্য টার্মিনাল ব্যবহার করেন এবং আপনার এই ত্রুটিটি রয়েছে তবে আপনি আপনার gradle.propertiesফাইলে অ্যান্ড্রয়েড স্টুডিওতে জেন্ডকে বান্ডিল করতে পারেন :

org.gradle.java.home=/usr/local/android-studio/jre

2

অন্যান্য উত্তরের মতো আমি org.gradle.java.home সম্পত্তি গ্রেড.প্রোপার্টি ফাইলগুলিতে সেট করেছি । কিন্তু \ বিভাজকগুলির সাথে পথটি কার্যকর হয়নি (উইন্ডোজ 10 এ বিল্ডিং):

'Org.gradle.java.home' এর মাধ্যমে সরবরাহ করা জাভা হোম অবৈধ। অবৈধ ডিরেক্টরি: সি: প্রোগ্রাম ফাইলজ্যাভডডক 1.8.0_65

পরিবর্তে তাই

org.gradle.java.home = C: \ প্রোগ্রাম ফাইলসমূহ জাভা \ jdk1.8.0_65

আমি ব্যবহার করতে হয়েছিল

org.gradle.java.home = C: / প্রোগ্রাম ফাইল / জাভা / jdk1.8.0_65

তারপরে বিল্ডটি সফল হয়েছিল

সমস্যাটি হ'ল প্রকল্পটি জেডিকে এর পরিবর্তে জেআরই দিয়ে তৈরি এবং যেহেতু আমি এটি গ্রহন থেকে তৈরি করছিলাম এটিও কাজ করেছিল:

  • উইন্ডোতে> পছন্দসমূহ> গ্রেডল> আর্গুমেন্টগুলি ওয়ার্কস্পেস জেআরই নির্দিষ্ট করে এবং আপনার জেডিকে নির্দিষ্ট করে।
  • উইন্ডোতে> পছন্দসমূহ> জাভা> ইনস্টলডজেআরইগুলি আপনার জেডিকে ডিফল্ট হিসাবে নির্দিষ্ট করে

2

জাভা আপডেটের পরে আমার ক্ষেত্রে (উইন্ডোজ 10) আমি আমার এনভায়ারোমেন্ট ভেরিয়েবলগুলি হারিয়েছি, সুতরাং আমি নিম্নলিখিত পদক্ষেপগুলির ভিত্তিতে https://confluence.atlassian.com/doc/setting-the-java_home-variable-in এর ভিত্তিতে আবার ভেরিয়েবলগুলি যুক্ত করে ফিক্স করেছি Windows -windows-8895.html


2

আমি এইভাবে সমস্যার সমাধান করেছি:

  • http://www.java2s.com/Code/Jar/t/Downloadtools180jar.htm- এ ফাইল সরঞ্জাম -১.৮.০.জার ডাউনলোড করুন
  • ফাইল আনজিপ করুন এবং সরঞ্জাম.জারের নাম পরিবর্তন করুন
  • সি: \ প্রোগ্রাম ফাইলসমূহ \ জাভা \ jre1.8.0_191 \ lib ফোল্ডারে অনুলিপি করুন
  • পুনরায় চেষ্টা করা

এটিতে C:\Program Files (x86)\Java\jre1.8.0_211এবং অনুলিপি করতে হয়েছিলC:\Program Files (x86)\Java\jre1.8.0_251
টেসাবওয়ালটিজজন

1

আপনি কি নিশ্চিত করেছেন যে সরঞ্জাম.জার এটিকে সংকলন শ্রেণীর পথে তৈরি করেছেন? হয়তো পথটি ভুল।

task debug << {
    configurations.compile.each { println it }
}

হ্যাঁ এটি ক্লাসিক পথে তৈরি করেছে, তবে এখনও বিষয়টি পাচ্ছে।
অভিষেক গুপ্ত

1

"ওপেন গ্র্যাডল রান কনফিগারেশন" এ JAVA_HOME ট্যাবের মাধ্যমে জেডিকে পাথ যুক্ত করা সমস্যার সমাধান করবে।


0

আমি বেশিরভাগ শীর্ষ বিকল্পগুলি চেষ্টা করেছি তবে মনে হয় আমার পরিবেশের সেটআপে আমার কিছু ভুল ছিল যাতে তারা সহায়তা করেনি। আমার জন্য যে বিষয়টি সমাধান হয়েছিল তা হ'ল পুনরায় ইনস্টল করা jdk1.8.0_201 এবং jre1.8.0_201এটি আমার জন্য ত্রুটিটি সমাধান করেছিল। আশা করি যে কাউকে সাহায্য করবে।

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