আমি জাভা এসডিকে ইনস্টল করার পরে লিনাক্সে কোথায় পাব?


185

আমি জেডিকে ইনস্টল করেছিলাম অ্যাপটি-গেট ইনস্টল ব্যবহার করে তবে আমার জেডিকি ফোল্ডারটি কোথায় তা আমি জানি না। তার জন্য আমার পথ নির্ধারণ করা দরকার। লোকেশনটির কারও কি কোনও ধারণা আছে?


1
লিনাক্স বিতরণ:
দেবিয়ান

/usr/local/java/আসল ডাউনলোড করা ওরাকল বিতরণের জন্য চেষ্টা করুন ।
জোন

উত্তর:


385

এটি আপনার প্যাকেজ সিস্টেম থেকে কিছুটা নির্ভর করে ... javaকমান্ডটি যদি কাজ করে তবে আপনি readlink -f $(which java)জাভা কমান্ডের অবস্থান সন্ধান করতে টাইপ করতে পারেন । ওপেনসুএস সিস্টেমে আমি এখন ফিরে আসছি /usr/lib64/jvm/java-1.6.0-openjdk-1.6.0/jre/bin/java(তবে এটি এমন কোনও সিস্টেম নয় যা ব্যবহার করে apt-get)।


উবুন্টুতে, দেখে মনে হচ্ছে এটি /usr/lib/jvm/java-6-openjdk/ ওপেনজেডিকে এবং /usr/lib/jvm/সানস জেডিকে-র জন্য অন্য কোনও উপ-ডিরেক্টরিতে (এবং অন্যান্য বাস্তবায়নও, আমি মনে করি)।

দেবিয়ানও একই রকম।


যে কোনও প্রদত্ত প্যাকেজের জন্য আপনি নির্ধারণ করতে পারবেন এটি কোন ফাইল ইনস্টল করে এবং কোথায় সেগুলি ডিপিকেজি কোয়েরি করে ইনস্টল করে। উদাহরণস্বরূপ, 'ওপেনজেডক -6-জেডিকে' প্যাকেজটির জন্য:dpkg -L openjdk-6-jdk


1
আমি দেখেছি এমন কিছু সেটআপগুলিতে অরথ /
ইউএসআর

আপনি যদি অ্যান্ড্রয়েড স্টুডিওতে জেডিকে পাথ যুক্ত করতে চান তবে এই / usr / lib / jvm / java-8-ওরাকল /
রোহিত রোকদে

3
আমার পথটা মনে হচ্ছে /usr/lib/jvm/java-7-openjdk-amd64
einverne

2
আমি মনে করি প্রদত্ত লিপিটি সবচেয়ে মার্জিত (এবং দক্ষ) তবে আমি পরামর্শ দিচ্ছি readlink -f $(which javac) - একই মেশিনে জেডিকে এবং জেআরইয়ের এক অদ্ভুত মিশ্রণের ক্ষেত্রে 'সি' নোট করুন। জেডিকে একটি সংকলক (জাভাক) অন্তর্ভুক্ত এবং একটি জেআরই নেই। তবে যদি পথটি সঠিক না হয়, যা ব্যর্থ হবে এবং আপনি এটি ব্যবহার করতে পারেন: find /usr/java -wholename '*ava/jdk*' -pruneআমি নীচে একটি মন্তব্যে নোট করেছি।
স্টিভেন দ্য ইজিলি অ্যামিউজড

@ উইনিমুচ্চা এটি আমার পক্ষে কাজ করে, আপনি জাভা কোথায় তা খুঁজে পেতে পারেন এবং তারপরে আপনি কোথায় জেডিকে পাথের সন্ধান করতে পারেন।
আইভার্নে

45
update-java-alternatives -l

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


7
এটি ডিবিয়ান নির্দিষ্ট (কমপক্ষে)। অন্যান্য ডিস্ট্রোদের এটি নাও থাকতে পারে
ডেকুইস

2
@ ডেকুইস, এটি ডিবিয়ান সম্পর্কিত নির্দিষ্ট একটি উত্তর, যেহেতু প্রশ্নটি উল্লিখিত হয়েছে apt-getএবং ডিস্ট্রো হওয়া উচিত Debian 2.6.26। আফাইক, এটি সমস্ত ডিবিয়ান ডেরিভেটিভগুলির জন্য একই হওয়া উচিত।
ফোর্সফেস্ক

2
আমি কেবল এটি অন্য ব্যক্তির জন্য নির্দেশ করছি। আমি জানি যে এটি নির্দিষ্ট প্রশ্নের জন্য বৈধ।
dequis

1
আপডেট-বিকল্প - তালিকা | , grep জাভা RHEL উপর আমার জন্য কাজ
Upen

30
$ which java 

তোমার মতো কিছু দেওয়া উচিত

/usr/bin/java

2
সত্য। আমি বাজি
ধরছি এটি অ্যাপটি

6
এটি আসলে একটি সম্পূর্ণ জেডিকে নির্দেশ করে না। 1. এটি একটি সিমিলিংক, এবং আপনি যদি এই সিমলিংকটি পড়ে থাকেন তবে বাইনারিটিও কোনও জেডিকে-তে থাকে না। উদাহরণস্বরূপ, যদি আমি কমান্ডটি চালিত করি তবে readlink -f $(which javac)এটি প্রিন্ট করে /usr/lib/jvm/java-8-oracle/bin/javac। এই বিন ফোল্ডারটি জেডিকে নয়। জেনারেল অ্যাসিড-বেস পরীক্ষা এটির কোনও জেডিকে স্রোতের $JAVA_HOMEকোনও পাথ রয়েছে কিনা তা দেখার জন্য lib/tools.jar। এর অভিনেতার ক্ষেত্রে /usr/lib/jvm/java-8-oracle/binএটি সত্য নয়, সুতরাং এটি জেডিকে নয়।
Zombies

সেন্টোস / আরএইচএল এ আমি জেডিকে (ইনস্টল করা থাকলে) খুঁজে পেতে পছন্দ করি find /usr/java -wholename '*ava/jdk*' -prune তবে আচরণটি নির্ভর করে যে আপনি ওপেনজেডিকে বা ওরাকল জাভা সম্পর্কে কথা বলছেন এবং এটি প্রথম স্থানে কীভাবে ইনস্টল হয়েছিল।
স্টিভেন

12

এই প্রশ্নটি সরানো হবে তবে আপনি নিম্নলিখিতটি করতে পারেন

which javac

অথবা

cd /
find . -name 'javac'

আমি দ্বিতীয় বিকল্পটি পছন্দ করি - সহজ এবং দরকারী যদি আপনার একাধিক জেআরই / জেডিকে থাকে এবং সেগুলি সন্ধান করতে চান।
আমোস এম কার্পেন্টার

"সন্ধান / -নেম 'জাভ্যাক'" টাইপিং কম, তবে অ্যাডমিনের (মূল) বিশেষাধিকার প্রয়োজন বা আপনি বার্তা বঞ্চিত অনেক অনুমতি পাবে get
স্টিভেন দ্য ইজিলি অ্যামিউজড

9

এটি চিহ্নিত করতে ব্যবহার করুন। এটি /usrকোথাও অধীনে থাকা উচিত :

find /usr -name java

কমান্ডটি চালনার সময়, যদি সেখানে প্রচুর "অনুমতি অস্বীকার" বার্তা থাকে তবে প্রকৃত প্রাপ্ত ফলাফলগুলি বিস্মৃত হয়, কেবল স্টাডারকে / dev / null এ পুনঃনির্দেশ করুন

find /usr -name java 2> /dev/null

1
রুট না হলে (অ্যাডমিন) আপনি প্রচুর অনুমতি অস্বীকৃত বার্তা পাবেন।
স্টিভেন দ্য ইজিলি অ্যামিউজড

7

জাভা ফোল্ডার পাথের সন্ধানের আর একটি সেরা উপায় হ'ল alternativesফেডোরা লিনাক্স-এ কমান্ড ব্যবহার করা (আমি এটি উবুন্টুর জন্য জানি তবে আমি গুগল থেকে এই পোস্টটি কেবল তার শিরোনামটি দিয়েছি)। ফেডোরা স্বাদে উত্তর খুঁজতে চাইলে কেবল আমার মতো লোকদের ভাগ করে নিতে চাই।

জাভা সম্পর্কিত সমস্ত তথ্য প্রদর্শন করতে

alternatives --display java

1
এটি আমার জন্য কাজ করেছে, ফিডোরায় / usr / java / jdk- [সংস্করণ]
সিনা মাদানী

3

তিনটি পদক্ষেপ প্রক্রিয়া: প্রথম: ওপেন টার্মিনাল-> $ whereis java এটি এর ফলাফল দেয়: java: /usr/bin/java /usr/share/java /usr/share/man/man1/java.1.gz

দ্বিতীয়: ls -l /usr/bin/java এটি এভাবে আউটপুট দেবে: lrwxrwxrwx 1 root root 22 Feb 9 10:59 /usr/bin/java -> /etc/alternatives/java

তৃতীয়: ls -l /etc/alternatives/java আউটপুট হল জেডিকে পাথ: lrwxrwxrwx 1 root root 46 Feb 9 10:59 /etc/alternatives/java -> /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java



1

কমান্ডটি: sudo update-alternatives --config javaসমস্ত ইনস্টল করা জাভা সংস্করণগুলির সম্পূর্ণ পথ খুঁজে পাবে


1

এই প্রশ্নটি এখনও প্রাসঙ্গিক বলে মনে হচ্ছে এবং উত্তরটি চলমান লক্ষ্য বলে মনে হচ্ছে।

আমার ডিবিয়ান সিস্টেমে (বুস্টার):

> update-java-alternatives -l
java-1.11.0-openjdk-amd64      1111       /usr/lib/jvm/java-1.11.0-openjdk-amd64

তবে, আপনি যদি সত্যিই সেখানে যান তবে দেখতে পাবেন ভবিষ্যতের রক্ষণাবেক্ষণকে সহজ করার জন্য প্যাকেজ সিস্টেমের দ্বারা একাধিক ডিরেক্টরি এবং প্রতীকী লিঙ্ক রয়েছে।

আসল ডিরেক্টরিটি হ'ল এর java-11-openjdk-amd64আরও একটি সিমলিংক default-java। একটি openjdk-11ডিরেক্টরি রয়েছে, তবে এটিতে কেবল একটি উত্স.জিপ ফাইল রয়েছে বলে মনে হয়।

এটি দেওয়া, কেবলমাত্র দেবিয়ানদের জন্য, আমি অনুমান করব যে ব্যবহারের সর্বোত্তম মানটি হ'ল এটি /usr/lib/jvm/default-javaসর্বদা বৈধ হওয়া উচিত, এমনকি আপনি জাভাটির সম্পূর্ণ ভিন্ন সংস্করণ ইনস্টল করার সিদ্ধান্ত নেন এমনকি এমনকি বিক্রেতাদেরও স্যুইচ করেন।

পাথটি জানার স্বাভাবিক কারণ হ'ল কিছু অ্যাপ্লিকেশন এটি চায় এবং আপনি সম্ভবত সেই অ্যাপ্লিকেশনটি ভাঙ্গতে চান না কারণ আপনি একটি আপগ্রেড করেছেন যা সংস্করণ সংখ্যা পরিবর্তন করেছে।


0

ওপেনসুএস 13.1 / 13.2 তে এর: /usr/lib64/jvm/java-1.6.0-openjdk-(version-number)
সংস্করণ নম্বরটি 1.7.x 1.8.x হতে পারে ইত্যাদি আপনি ইনস্টল করা সফ্টওয়্যার ম্যানেজার ডাইনি সংস্করণ পরীক্ষা করুন ...

আঁদ্রে


0

লিনাক্স ফেডোরা 30-তে সম্পূর্ণ জাভা জেডিকের বেশ কয়েকটি সংস্করণ উপলব্ধ রয়েছে, বিশেষত প্যাকেজের নাম:

java-1.8.0-openjdk-devel.x86_64 
java-11-openjdk-devel.x86_64

একবার ইনস্টল হয়ে গেলে এগুলিতে পাওয়া যায়: /usr/lib/jvm

পূর্ণ বিকাশের জেডিকে (যা সহজ রানটাইম কেবল জেআরই থেকে আলাদা) এর অবস্থান / ডিরেক্টরি নির্বাচন করতে প্রবেশের সন্ধান করুন:

ls -ld java*openjdk*

এখানে দুটি ভাল পছন্দ রয়েছে, যা নির্দিষ্ট সংস্করণগুলির লিঙ্ক, যেখানে আপনাকে সংস্করণটি নির্বাচন করতে হবে:

/usr/lib/jvm/java-1.8.0-openjdk
/usr/lib/jvm/java-11-openjdk

0

এই আদেশটি কার্যকর করাই আমার পক্ষে সবচেয়ে ভাল উপায়:

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