সঠিকভাবে সেট করা হলেও গ্র্যাড ভুল JAVA_HOME খুঁজে পায়



linux gradle (11)

[উইন্ডোজ] ইতিমধ্যেই বলেছে, এটি দেখে মনে হচ্ছে। বাট-ফাইলে %JAVA_HOME%/bin/java.exe থেকে java.exe খুঁজে বের করার চেষ্টা করে, তাই পাথটি দুবার পুনরাবৃত্তি হওয়ার পরে এটি এটি খুঁজে পায় না। Remov যে অতিরিক্ত /bin gradle.bat থেকে।

https://src-bin.com

ধীরে ধীরে চালানোর চেষ্টা করার সময়, আমি নিম্নলিখিত ত্রুটি পেতে পারি:

# gradle

ERROR: JAVA_HOME is set to an invalid directory: /usr/lib/jvm/default-java

Please set the JAVA_HOME variable in your environment to match the
location of your Java installation.

যাইহোক, যখন আমি JAVA_HOME পরিবর্তনশীলটি পরীক্ষা করে দেখি তখন আমি পেতে পারি:

# echo $JAVA_HOME 
/usr/lib/jvm/java-7-oracle

আমার JAVA_HOME টি .bashrc এ সংজ্ঞায়িত করা হয়েছে এবং আমি ডাবল চেক করেছি যে এটি উৎস হিসাবে সেট করা আছে।

java -version বর্ধন চলমান নিশ্চিত করে যে JAVA_HOME সঠিকভাবে সেট করা হয়েছে এবং PATH এ রয়েছে।

# java -version
java version "1.7.0_51"
Java(TM) SE Runtime Environment (build 1.7.0_51-b13)
Java HotSpot(TM) 64-Bit Server VM (build 24.51-b03, mixed mode)

আমি /etc/alternatives/java /usr/bin/java symlinks /etc/alternatives/java যা সঠিকভাবে সিমলিঙ্ক /usr/lib/jvm/java-7-oracle/jre/bin/java

উপরন্তু আমি চেক করেছি যে .bash_profile বা /etc/profile কোন সদৃশ JAVA_HOME সংজ্ঞা নেই।

সুতরাং আমার প্রশ্ন হল গ্র্যাডেল কিভাবে / কেন /usr/lib/jvm/default-java , এবং আরো গুরুত্বপূর্ণভাবে আমি কীভাবে সঠিক ডিরেক্টরিতে নির্দেশ করব?

অন্যান্য প্রোগ্রাম যা JDK কাজ জরিমানা প্রয়োজন, তাই আমি এটি একটি Gradle সমস্যা মনে করি। আমি Gradle পুনরায় ইনস্টল করার চেষ্টা করেছি যা কোন পার্থক্য না।

আমি 64bit Xubuntu (উবুন্টু 13.10 বেস) চালাচ্ছি


Answer #1

আপনার GRADLE_HOME এবং JAVA_HOME পরিবেশ সঠিকভাবে সেট করা থাকলে আপনার JDK ডিরেক্টরিটি পরীক্ষা করুন এবং আপনার নীচের পাথের অধীনে java.exe ফাইলটি নিশ্চিত করুন।

C:\Program Files (x86)\Java\jdk1.8.0_181\bin

ত্রুটি gradle.bat ফাইল উল্লেখ হিসাবে

:findJavaFromJavaHome
set JAVA_HOME=%JAVA_HOME:"=%
set JAVA_EXE=%JAVA_HOME%/bin/java.exe

if exist "%JAVA_EXE%" goto init

echo.
echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME%
echo.
echo Please set the JAVA_HOME variable in your environment to match the
echo location of your Java installation.

এটা আপনার জাভা ইনস্টলেশন সনাক্ত করতে পারবেন না। তাই খুঁজে এবং সেট

java.exe

সবকিছু ঠিক থাকলে %JAVA_HOME%/bin নিচে।

এটি আমার জন্য কাজ করে (আমার অ্যাকাউন্ট ক্লায়েন্ট দ্বারা অক্ষম হয়েছে এবং তাদের প্রশাসক আমার ডিরেক্টরি থেকে java.exe সরানো হয়েছে।)


Answer #2

আপনি আপনার gradle ইনস্টলেশনের ফোল্ডার ভিতরে bin ফোল্ডারে যেতে পারেন এবং gradle.bat ফাইলে JAVA_HOME প্যারামিটারটি সংশোধন করতে পারেন। আমার ক্ষেত্রে, আমার JAVA_HOME c তে সেট হয়েছিল: \ প্রোগ্রাম ফাইল \ java \ bin gradle.bat এ JAVA_HOME% JAVA_HOME% \ bin \ java.exe এ সেট করা হয়েছিল।

আমি JAVA_HOME gradle.bat এ সংশোধন করেছি এবং এটি কাজ করেছে।

ধন্যবাদ!!!


Answer #3

আমার dockercontainer (জাভা খুঁজে না অন্তত সমস্যা ছিল) ছিল, যে "কোন" ইনস্টল করা হয় নি। Grlelew ব্যবহার করে একটি প্রকল্প comipl যা ব্যবহৃত ./gradlew জাভা খুঁজে পাওয়া যা সমস্যা সমাধানের সমাধান।


Answer #4

আমার জন্য এক্সক্লসে বাইরের সরঞ্জাম কনফিগারেশনের আর্গুমেন্ট বিভাগের একটি সুস্পষ্ট সেট সমস্যা ছিল।


Answer #5

আমারও একই সমস্যা ছিল, কিন্তু আমি সর্বশেষ সংস্করণ 2.13 এর জন্য ধীরে ধীরে ফাইলটিতে 70 এর মধ্যে এক্সপোর্ট কমান্ডটি খুঁজে পাইনি, কিন্তু আমি সেখানে একটি নির্বোধ ভুল বুঝি, যা অনুসরণ করা হচ্ছে,

আপনি যদি আপনার ধীরে ধীরে ফোল্ডার / bin / এ ধাপে ফাইলের মধ্যে রপ্তানি কমান্ডের সাথে লাইন 70 খুঁজে না পান তবে আপনার ~ / .bashrc টি চেক করুন, যদি আপনি export JAVA_HOME==/usr/lib/jvm/java-7-openjdk-amd64/bin/java খুঁজে পান তবে export JAVA_HOME==/usr/lib/jvm/java-7-openjdk-amd64/bin/java , তারপর এই লাইন থেকে /bin/java সরান, যেমন JAVA_HOME==/usr/lib/jvm/java-7-openjdk-amd64 , এবং এটি পাথ >>> পরিবর্তে এই export PATH=$PATH:$HOME/bin:JAVA_HOME/ পরিবর্তে export PATH=$PATH:$HOME/bin:JAVA_HOME/ , এটি export PATH=$PATH:$HOME/bin:JAVA_HOME/bin/java হবে export PATH=$PATH:$HOME/bin:JAVA_HOME/bin/java । তারপর source ~/.bashrc চালান source ~/.bashrc

কারণ, যদি আপনি আপনার gradle ফাইলটি পরীক্ষা করেন, আপনি লাইন 70 (যদি কোন রপ্তানি কমান্ড না থাকে) বা লাইন 75 তে পাবেন,

JAVACMD="$JAVA_HOME/bin/java"
    fi
    if [ ! -x "$JAVACMD" ] ; then
        die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME

এর মানে হল /bin/java ইতিমধ্যেই আছে, তাই এটি JAVA_HOME পাথ থেকে JAVA_HOME দেওয়া JAVA_HOME

যে আমার ক্ষেত্রে ঘটেছে।


Answer #6

উবুন্টু 1310 থেকে ডাউনলোড করা বিশেষ গ্র্যাডেল বাইনারি যা সক্রিয় করে তা স্বয়ংক্রিয়ভাবে JAVA_HOME রপ্তানি করার চেষ্টা করে। এই সুপারিশ করার জন্য Lucas ধন্যবাদ।

/usr/bin/gradle লাইন 70:

export JAVA_HOME=/usr/lib/jvm/default-java

এই লাইনটি মন্তব্য করার সমস্যাটি সমাধান করে এবং গ্র্যাডাল জাভা বাইনারিটির সঠিক পথ খুঁজে পায়।

আপনি যদি তাদের website থেকে বাইনারি ডাউনলোড করেন তবে এটিতে সমস্যা নেই, এটি উবুন্টু রেপো সংস্করণে একটি সমস্যা। 13.10 সংস্করণের সাথে কিছু অন্যান্য সমস্যাও বলে মনে হচ্ছে।


Answer #7

উবুন্টুতে নিম্নোক্ত কমান্ড চালানোর সময় আমি এই সমস্যাটি মোকাবেলা করেছি:

ionic build android

এই সমস্যা সমাধানের জন্য, আমি নিম্নলিখিত পদক্ষেপগুলি করেছি:

ln -sf /usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java /usr/lib/jvm/default-java

/ Etc / পরিবেশে JAVA_HOME যুক্ত করুন:

vi /etc/environment

যোগ করুন

JAVA_HOME="/usr/lib/jvm/default-java"

সংরক্ষণ করার পরে, এটি পড়ুন:

source /etc/environment

অবশেষে, আপনি বিল্ড কমান্ড চালাতে পারেন।


Answer #8

কমান্ড চালানোর আগে লিখুন চেষ্টা করুন:

export JAVA_HOME="path_to_java_home"

যেখানে path_to_java_home ফোল্ডারটি যেখানে আপনার bin/java হয়।

জাভা সঠিকভাবে ইনস্টল করা হলে আপনি কমান্ডটি ব্যবহার করে এটির অবস্থানটি খুঁজে পেতে পারেন:

readlink -f $(which java)

পথের শেষে থেকে JAVA_HOME স্থাপন করার সময় bin/java মুছে ফেলতে ভুলবেন না


Answer #9

সমাধান হল JAVA_HOME == dir উপরে উপরে যেখানে javac হিসাবে বসবাস করে

type javac

javac is /usr/bin/javac   # now check if its just a symlink

ls -la /usr/bin/javac 

/usr/bin/javac -> /etc/alternatives/javac   # its a symlink so check again

ls -la /etc/alternatives/javac  # now check if its just a symlink

/etc/alternatives/javac -> /usr/lib/jvm/java-8-openjdk-amd64/bin/javac

ঠিক আছে তাই অবশেষে প্রকৃত javac উপরে bin পাওয়া তাই এই কাজ

export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
export PATH=$JAVA_HOME/bin:$PATH

উপরে সরলীকৃত এবং সাধারণকরণ করা যেতে পারে

which javac >/dev/null 2>&1 || die "ERROR: no 'javac' command could be found in your PATH"
export JAVA_HOME=$(dirname $(dirname $(readlink -f $(which javac)  )))

Answer #10
sudo ln -s /usr/lib/jvm/java-7-oracle/jre /usr/lib/jvm/default-java

ডিফল্ট-java ডিরেক্টরি একটি প্রতীকী লিঙ্ক তৈরি করুন।

আপনি আপনার জাভা ডিরেক্টরি দ্বারা খুঁজে পেতে পারেন

readlink -f $(which java) 
# outputs: /usr/lib/jvm/java-7-oracle/jre/bin/java
# Remove the last `/bin/java` and use it in above symbolic link command.




environment-variables