JAVA_Home সঠিকভাবে সংজ্ঞায়িত করা হয়নি


14

আমি জাভা জেডিকে হটস্পট 1.7 ইনস্টল করেছি। আমি টাইপ করলে java -versionআমি পাচ্ছি:

java version "1.7.0" 
Java(TM) SE Runtime Environment (build 1.7.0-b147)

এটা সঠিক।

এবং আমি মাভেন ইনস্টল করার চেষ্টা করেছি এবং /etc/environmentফাইলটিতে যুক্ত করেছি:

JAVA_HOME=/usr/lib/jvm/jdk1.7.0
M2_HOME=/usr/local/apache-maven/apache-maven-3.0.4
MAVEN_HOME=/usr/local/apache-maven/apache-maven-3.0.4
M2=/usr/local/apache-maven/apache-maven-3.0.4/bin

এখন যখন আমি এমভিএন টাইপ করি তখন পাচ্ছি:

Error: JAVA_HOME is not defined correctly.   We cannot execute
”/usr/lib/jvm/jdk1.7.0”/bin/java

তবে আমি পরিবেশ ফাইলে "জাভহোম ভেরির জন্য চিহ্ন" রাখছি না।

এটি থেকে চালানোর চেষ্টা করা হচ্ছে

”/usr/lib/jvm/jdk1.7.0”/bin/java

পথ, আসলে এটি হওয়া উচিত

/usr/lib/jvm/jdk1.7.0/bin/java

আমি যখন আদেশ করি

$JAVA_HOME

আমি পাচ্ছি:

bash: ”/usr/lib/jvm/jdk1.7.0”: No such file or directory

আমি নিশ্চিত যে পথটি ( /usr/lib/jvm/jdk1.7.0) সঠিক।


আপনি কী করতে পারেন ls -al /usr/lib/jvmএবং নিশ্চিত করতে পারেন যে 'jdk1.7.0' ডিরেক্টরি নামের জন্য ফর্ম্যাট? ওরাকল ব্যবহার করার সময়, তারা অদ্ভুত ফোল্ডার নামগুলি ব্যবহার করে
টমাস ওয়ার্ড

ls /usr/lib/jvm/java-7এবং ls "/usr/lib/jvm/java-7"/binফলন করতে হবে এবং আমার জন্য একই ফল পাওয়া উচিত (যা শূন্য নয়)। শেষ অংশ, জাভা -7, একটি ম্যানুয়াল পরিবর্তনের ফলাফল - এটি আপনার জন্য কিছুটা আলাদা এবং হতে পারে। যাচাই করুন যে এই জাতীয় ফোল্ডারটি বিদ্যমান (jdk1.7.0)।
ব্যবহারকারী অজানা

আমি total 44 drwxr-xr-x 3 root root 4096 Jun 28 01:57 . drwxr-xr-x 184 root root 36864 Jun 28 01:34 .. drwxr-xr-x 10 root root 4096 Jun 27 23:30 jdk1.7.0 এই ls -al /usr/lib/jvm কমান্ডটি চালানোর পরে পেয়েছি
কমোলিদ্দিন ২৯'১২ 'এ

মনে রাখবেন যে আপনার কনসোলে একটি পরিবর্তনশীল দেখতে, আপনি টাইপ বলে আশা করা হয়: echo $VARNAME। আপনি যদি কেবল এটি করেন $VARNAMEতবে এটি সেই ভেরিয়েবলের মধ্যে কী কার্যকর করবে।
অ্যালেক্সিস উইলকে

উত্তর:


15

JAVA_HOMEযে ডিরেক্টরি নাম নির্ধারণ করা উচিত রয়েছেbin ডিরেক্টরি যে রয়েছে (বিশেষ করে, জাভা এক্সেকিউটেবল javaনিজেই)।

ধরে নিই যে আপনার একটি /usr/lib/jvm/jdk1.7.0ডিরেক্টরি আছে, এটি সম্ভবত একটি jreউপ- binডিরেক্টরি রয়েছে যার মধ্যে ডিরেক্টরি রয়েছে javaএবং এতে এক্সিকিউটেবল সম্পর্কিত ডিরেক্টরি রয়েছে ।

সুতরাং আপনি সম্ভবত পরিবর্তে সেট JAVA_HOMEকরা /usr/lib/jvm/jdk1.7.0/jreউচিত /usr/lib/jvm/jdk1.7.0


একটি জেডিকে ইনস্টল করা, কেবল জেআরইই সাধারণত একটি জিনকে-ডিরেক্টরিতে বিন দির থাকে, সেইসাথে একটি জেআরই-ডিরও চালিত করে, যার মধ্যে একটি বিন দির থাকে। তবে JAVA_HOMEসবসময় পিতা-মাতার সাথে সেট করা ছিল, jreদিরের সাথে নয়।
ব্যবহারকারী অজানা

আকর্ষণীয়, আমার এটি JDK নম্বরে সেট করা দরকার? আমি জাভা, সংকলন, মোতায়েন, ইত্যাদিতে কোড লিখতে যাচ্ছি
কমলিদ্দিন

@Kamoliddin তাহলে ম্যাভেন ব্যবহার করছে $JAVA_HOMEযেখানে জানতে javacএবং অন্যান্য উন্নয়ন বাইনেরিতে হয়, তাহলে হ্যাঁ, আপনাকে এটি সেট করতে হবে jdkধারণকারী Dir binDir সেই বাইনেরিতে ধারণ করে।
এলিয়াহ কাগন

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

তিনি কেন jdk1.7.0 ব্যবহার করছেন তা নিশ্চিত নয় .. এবং /usr/lib/jvm/javaউভয়েরই যথেষ্ট হওয়া উচিত । বিকল্পগুলি এটির যত্ন নেয়javajavac
ব্রায়ান
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.