উইন্ডোজে মাভেন ইনস্টল করতে অক্ষম: "জাভাআহোম একটি অবৈধ ডিরেক্টরিতে সেট করা আছে"


98

আমি চিঠির মাভেন টিউটোরিয়ালটি অনুসরণ করেছি তবে আমি এখনও উইন্ডোতে মাভেন ইনস্টল করতে পারি না।

আমি যখন নিম্নলিখিত কমান্ড প্রম্পটটি চালিত করি:

E:\Documents and Settings\zach>mvn --version

আমি পাই:

'mvn' is not recognized as an internal or external command, operable program or batch file.

আমি মাভেন ইনস্টল ফোল্ডারে নেভিগেট করে দৌড়ে mvn --versionএসেছি:

E:\java resources\apache-maven-2.2.0\bin>mvn --version
ERROR: JAVA_HOME is set to an invalid directory.
JAVA_HOME = "E:\Sun\SDK\jdk\bin"
Please set the JAVA_HOME variable in your environment to match the
location of your Java installation

তবে আমি যখন দৌড়ে java -versionযাই তখন :

java version "1.6.0_14"
Java(TM) SE Runtime Environment (build 1.6.0_14-b08)
Java HotSpot(TM) Client VM (build 14.0-b16, mixed mode)

সুতরাং আমি জাভা ইনস্টল করা আছে। কেউকি জানে কি সমস্যা?

উত্তর:


172

সমস্যাগুলি হ'ল আপনার পথগুলি নিয়ে।

  1. ডিরেক্টরিটি "E: ava জাভা সংস্থানগুলি resources অ্যাপাচি-ম্যাভেন-২.২.০ \ বিন" আপনার কমান্ড অনুসন্ধানের পথে রয়েছে তা নিশ্চিত করুন।

  2. নিশ্চিত করুন যে JAVA_Home ভেরিয়েবল আপনার জাভা ইনস্টলেশনের জন্য হোম ডিরেক্টরিকে বোঝায় directory আপনি যদি "E: \ Sun \ SDK \ jdk \ bin" থেকে জাভা চালাচ্ছেন তবে জাভাআহোম ভেরিয়েবলটি "E: \ Sun \ SDK \ jdk" এ নির্দেশ করতে হবে।

    NB: জাভা_হোম "\ বিন" 1 দিয়ে শেষ করা উচিত নয় ।

  3. নিশ্চিত হয়ে নিন যে আপনি জাভাআহোম ভেরিয়েবল 2- তে কোনও সেমিকোলন স্থাপন করেননি ।

    এনবি: জেভিএহোম একক ডিরেক্টরি নাম হওয়া উচিত, সেমিকোলন দ্বারা পৃথক ডিরেক্টরি নামের তালিকা "PATH- জাতীয়" নয় not

এছাড়াও মনে রাখবেন যে আপনি কী প্যাথনামগুলির ফাঁকা স্থান সম্পর্কে উইন্ডোজ নির্দেশিকায় মাভেনের এই পরামর্শটি উপেক্ষা করলে আপনি সমস্যার মধ্যে পড়তে পারেন ।

"অনেকগুলি ক্রস-প্ল্যাটফর্ম সরঞ্জামের মতো ম্যাভেনও যখন গুরুত্বপূর্ণ প্যাথনামগুলিতে স্পেস অক্ষর রয়েছে তখন সমস্যার মুখোমুখি হতে পারে ।"

"আপনাকে জাভা এসডিকে ইনস্টল করতে হবে (উদাঃ ওরাকলের ডাউনলোড সাইট থেকে), এবং আপনার এটি ফাঁকা ছাড়াই কোনও পাথনামে ইনস্টল করা উচিত , যেমন সি: 2 j2se1.6। '

"আপনাকে ম্যাভেন বিতরণটি আনপ্যাক করা দরকার your এটি আপনার উত্স কোডের মাঝখানে আনপ্যাক করবেন না; কিছু অবস্থান বেছে নিন ( পথে কোনও ফাঁকা স্থান নেই! ) এবং এটি সেখানে আনপ্যাক করুন।"

এর সহজ প্রতিকার হ'ল জাভা বা মাভেনকে অন্য কোনও জায়গায় পুনরায় ইনস্টল করা যাতে পথে কোনও স্থান না থাকে


1 - .... যদি না আপনি নিজের ইনস্টলেশন অবস্থানের জন্য নামের জন্য একটি উন্মাদ পছন্দ না করেন।

2 - দৃশ্যত উইন্ডোজ পাথ সমস্যার একটি সাধারণ "ভুডু" সমাধান হ'ল শেষে একটি সেমিকোলনটি ধাক্কা। এটি সাধারণভাবে সুপারিশ করা হয় না, একেবারে এখানে কাজ করে না।


29

ত্রুটি: JAVA_Home একটি অবৈধ ডিরেক্টরিতে সেট করা আছে। জাভাআহোম = "ই: \ রৌদ্র K এসডিকে \ জেডকে \ বিন" আপনার জাভা ইনস্টলেশনটির অবস্থানের সাথে মেলে আপনার পরিবেশে জাভাআহোম ভেরিয়েবলটি সেট করুন Please

JAVA_HOMEসেট করা উচিত E:\Sun\SDK\jdkPATHঅন্তর্ভুক্ত সেট করা উচিত %JAVA_HOME%\bin


13

আমি গ্রেইস ইনস্টল করে এই সমস্যাটিতে চলে এসেছি।

সমস্যা হয়েছে আমার JAVA_HOME ছিল c:\sun\jdk\এবং আমার পাথ হয়েছে%JAVA_HOME%bin

আমি এটিকে পরিবর্তন করেছি: JAVA_HOME= "c:\sun\jdk" and PATH="%JAVA_HOME%\bin"

এটা তার পরে কাজ করে।


10

আমি একই সমস্যার মুখোমুখি হয়েছি এবং জাভাওয়াহোম আমার জন্য কাজ করা আপডেট করেছে।

পূর্বে এটি এর মতো ছিল: সি: \ প্রোগ্রাম ফাইল \ জাভা \ jdk1.6.0_45 \ বিন মাত্র \ বিনটি সরিয়েছে এবং এটি আমার পক্ষে কাজ করে।


4

আমার বর্তমান কাজের স্থানে সুরক্ষা বিধিনিষেধের কারণে আমি আমার উইন্ডোজ ভিত্তিক পিসিতে পরিবেশগত ভেরিয়েবল সেট করতে পারিনি।

আমার কাজটি হ'ল mvn.bat ফাইলটি% M2% থেকে C তে নকল করা ছিল: IN WINNT এবং নিম্নলিখিতটি ব্যাচের ফাইলের শীর্ষে যুক্ত করুন:

@REM Needed as unable to set env variables on my desktop PC.

set MAVEN_OPTS=-Xms256m -Xmx1024m
set M2_HOME=C:\apache-maven-3.0.4
set M2=%M2_HOME%\bin
set JAVA_HOME=C:\Program Files\Java\jdk1.5.0_15
set PATH=%JAVA_HOME%\bin;%M2%;%PATH%

সর্বোত্তম সমাধান নয় তবে এটি কাজ করে। কারও কাছে যদি অন্য কোনও উপায় বা কাজের আশেপাশে থাকে যেখানে স্ট্যান্ডার্ড এনভ ভার্সগুলি সিস্টেমে সেট করা যায় না তবে আমি তাদের প্রতিক্রিয়াটি স্বাগত জানাই।


3

আমার একই সমস্যা ছিল এবং উপরের উত্তরগুলির মধ্যে আমার পক্ষে এটি ঠিক করা হয়নি কারণ আমার env ভেরিয়েবলগুলি সেট ছিল set আমি সবেমাত্র আমার জাভা পুনরায় ইনস্টল করেছি।

কি কাজ ছিল

  1. যান C:\path\to\apache-maven-3.0.4\binএবং mvn.batফাইল খুলুন ।
  2. দেখতে দেখতে লাইনটি সন্ধান করুন @SET JAVA_HOME=C:\progra~1\java\jdk1.7.0_03
  3. এটি সঠিক পথে সংশোধন করুন

আমি জানিনা এটি উইন্ডোজ নির্দিষ্ট কিনা, তবে এটি কারও সাহায্য করতে পারে!


2

প্রচুর ব্যর্থ চেষ্টা করার পরেও সমাধান খুঁজে পেয়েছি

এটি ছিল ";" জাভাএহোম এর শেষে যা আমি সর্বদা আমার সেট প্রতিটি নতুন ভেরিয়েবলের শেষে রেখেছি। সুতরাং পরিত্রাণ পেতে।;

জাভাহোম এটিকে ব্যবহারকারী ভেরিয়েবলেও সেট করে (";" অবশ্যই ছাড়াই)


4
"... যা আমি সর্বদা নির্ধারিত প্রতিটি নতুন ভেরিয়েবলের শেষে রেখেছি" - আপনি এটি কেন করবেন?
স্টিফেন সি

1

আপনাকে বিন ডিরেক্টরি ছাড়াই জাভাআহোম বা ম্যাকেনহোম সেট করা উচিত উদাহরণস্বরূপ: - জাভাআহোম = সি: \ প্রোগ্রাম ফাইল (x86) \ জাভা \ jdk1.7.0_45 - মাভেনহোম = সি: \ প্রোগ্রাম ফাইল (x86) \ অ্যাপাচি-ম্যাভেন-3.1.1 এখন পাথ = .....;% মাভেনহোম% \ বিন;% জাভাহোহোম% \ বিন এটি সঠিকভাবে কাজ করছে


1

কখনও কখনও উইন্ডোতে পাথের সাদা স্থানগুলি সঠিকভাবে স্বীকৃত হয় না

আপনার যদি কোনও পাথ সমস্যা এবং পথটি মনে হয়

c:\Program Files\....

এটি পুরানো ডস ফর্ম্যাটে পছন্দ করার মতো করুন

"C:\Progra~1\...

আপনি dir /xসঠিক বাক্য গঠন পরীক্ষা করতে ব্যবহার করতে পারেন (তৃতীয় কলাম)

C:\>dir /x ... 11.01.2008 15:47 <DIR> DOCUME~1 Documents and Settings 01.12.2006 09:10 <DIR> MYPROJ~1 My Projects 21.01.2011 14:08 <DIR> PROGRA~1 Program Files ...

আমার পিসিতে জাভাআহোম রয়েছে (এবং এটি কাজ করে)

"C:\Progra~1\Java\jdk1.8.0_121"

উইন্ডোজ 10 এ পরীক্ষা করা হয়েছে



0

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

ব্যবহারকারীদের, যাদের প্রশাসক অ্যাক্সেস নেই এবং যখন তারা কোনও কমান্ড প্রম্পট খোলেন, এটি ব্যবহারকারীর সুবিধার্থে চলে। এর অর্থ হল, আপনার সি: \ ব্যবহারকারী \ এর মতো পথ থাকতে পারে

সুতরাং সি: \ ব্যবহারকারীদের \ এক্সওয়াইজেড> এমভিএন - রূপান্তর চেষ্টা করার সময়, এটি আসলে পরিবেশের ভেরিয়েবলগুলিতে সিস্টেম ভেরিয়েবল নয় ব্যবহারকারী ভেরিয়েবলগুলি থেকে জাভাআহোমোথ পাথ অনুসন্ধান করে।

সুতরাং, এটি ঠিক করার জন্য, আমাদের ব্যবহারকারীর ভেরিয়েবলগুলিতে JAVA_HOME এর জন্য পরিবেশের পরিবর্তনশীল তৈরি করতে হবে।

আশা করি, এটি কাউকে সহায়তা করে।


এরম্ম্ম ... ব্যবহারকারীর পরিবেশের ভেরিয়েবলগুলি উইন্ডোজে সিস্টেম এনভায়রনমেন্ট ভেরিয়েবলকে ওভাররাইড করে। আপনার যদি একই নামের সাথে সিস্টেম এবং ব্যবহারকারীর পরিবেশের পরিবর্তনশীল থাকে তবে ব্যবহারকারী ভেরিয়েবল "জিতবে" এবং অ্যাপ্লিকেশনটি যা দেখায়।
স্টিফেন সি

0

গ্রহণ এবং চলমান মাভেনের জন্য আপনাকে দুটি পাথ ভেরিয়েবল সংরক্ষণ করতে হবে, একটি আপনার jdk1.7_x_x_x অবস্থান এবং আপনার jdk1.7_x_x_ \ বিনে। আপনি যদি উইন্ডোজ ব্যবহার করেন, আপনি যখন আপনার পরিবেশের ভেরিয়েবলের মধ্যে থাকেন তবে নিম্নলিখিতটি করুন:

1) জাভাওহোম নামে একটি ব্যবহারকারী ভেরিয়েবল তৈরি করুন। আপনার জাভা ফাইলের অবস্থানটিকে এটি নির্দেশ করুন। উদাহরণস্বরূপ: "সি: \ প্রোগ্রাম ফাইল \ জাভা \ jdk1.7.0_51" (উদ্ধৃতিগুলি সরান)

2) PATH এর অধীনে,% JAVA_HOME% কে PATH এ যুক্ত করুন। এটি আপনার প্যাথ থেকে প্রথম ধাপ থেকে ফাইলের অবস্থান যুক্ত করবে। এটি মাভেনের পক্ষে ভাল

3) আপনি যদি গ্রহপ ব্যবহার করছেন তবে আপনার "সি: \ প্রোগ্রাম ফাইলগুলি \ জাভা \ jdk1.7.0_51 \ বিন" এর পয়েন্ট পয়েন্ট থাকা দরকার। এখন আপনার পথের শেষে% JAVA_HOME% \ বিন যুক্ত করুন।

৪) আপনার পথটি দেখতে কিছুটা দেখতে পাওয়া উচিত: সি: \ প্রোগ্রাম ফাইলগুলি (x86) \ গুগল oogle গুগল_অ্যাপেনজিন \; সি: \ ব্যবহারকারীদের \ ব্যবহারকারী নাম \ অ্যাপডাটা \ রোমিং \ এনপিএম;% এম 2%;% জাভাহোম%%;% জাভাআহোম% \ বিন

দ্রষ্টব্য:% এম 2% এর মতো% এর মধ্যে আবদ্ধ আইটেমগুলিকে ভেরিয়েবল বরাদ্দ করা হয়। এটি অপ্রয়োজনীয় তবে প্রয়োজনীয় দেখাচ্ছে। আপনি টাইপ করে নিশ্চিত করতে পারেন যে সবকিছুই কাজ করে:

java -version
javac -version
mvn -version

কম্যান প্রম্পটে টাইপ করা এই তিনটি স্টেটমেন্টের প্রত্যেকটির ত্রুটি ফিরে পাওয়া উচিত নয়।


পদক্ষেপ 2) ভুল এবং অপ্রয়োজনীয়। জাভা টুলচেন বা মাভেন উভয়েরই "PATH" ভেরিয়েবলের জন্য% JAVA_HOME% থাকতে হবে না। (এটি কোনও আসল ক্ষতি করে না, তবে কোনও
স্টিফেন সি

0

উইন্ডোজ 10 ব্যবহার করে

আমি সমস্যার মুখোমুখি হয়েছি .. তারপরে আমি জাভাআহোম ভেরিয়েবল সম্পূর্ণরূপে অপসারণ করেছি এবং মাত্র % জাভাআহোম% \ বিনকে রাস্তায় যুক্ত করেছি তখন এটি কার্যকর হয়েছে !!! আমার জন্য


4
ধন্যবাদ.এটি জাভা_হোম ভেরিয়েবলের শেষে "/ বিন" যুক্ত করার পরে কাজ করে
রাহুল

-1

জেডি কে জাভা.এক্সির অবস্থানগুলি 1.6 থেকে 1.7 এর মধ্যে পরিবর্তন করেছে !!!

আমার ক্ষেত্রে আমি দেখতে পেলাম যে জেডিকে জেভিএহোমকে শেষের দিকে the জেয়ার যুক্ত করতে হয়েছিল। এমভিএন ব্যাট ফাইলটি জাভা.এক্সই খুঁজছে এবং এটি জাভাহোম \ বিনে এটি সন্ধান করে। এটি জেডিকে 1.7 এর জন্য নেই; এটি জাভা_হোম \ জেরে \ বিনে রয়েছে। জেডিকে ১.6-তে এটি জাভাহোম \ বিনে রয়েছে।

আশা করি এটি কারও সাহায্য করবে।


4
আমি বিশ্বাস করি এটি ভুল is জাভা for এর জন্য অফিশিয়াল ওরাকল ডকুমেন্টেশন অনুসারে ( ডকস.ওরাকল. com/javase/7/docs/technotes/tools/windows/ ), একটি জেডিকে ইনস্টলেশনে "জাভা" কমান্ড "JAVA_HOME \ বিন" এবং "উভয়ই প্রদর্শিত হবে" জাভা_হোম \ জেরে \ বিন "। এটি যদি আপনার ইনস্টলেশনটিতে না হয় তবে তার সাথে কেউ / কিছু গণ্ডগোল করেছে!
স্টিফেন সি

মজাদার. এটি আমার / বিন ডিরেক্টরিতে নেই, কেবল আমার / জেআর / বিন। সম্ভবত আমার সর্বশেষতম জেডিকে পুনরায় ইনস্টল করতে হবে
ব্রায়ান রেইনহোল্ড

-1

আমার পরিস্থিতি কিছুটা আলাদা ছিল।

  • JAVA_HOME 1.7 নির্দেশ করতে সঠিকভাবে সেট করা হয়েছিল
  • অন্যান্য ম্যাভেন প্রকল্পগুলি 1.7 টি বৈশিষ্ট্য সহ সূক্ষ্ম নির্মাণ / কাজ করছে।
  • PATH সঠিকভাবে সেট করা হয়েছিল।
  • সবকিছু আপ টু ডেট ছিল।

তবুও আমার সাধারণ নতুন মাভেন প্রকল্পটি কাজ করছে না। আমি যেটা লক্ষ্য করলাম তা হ'ল লগে লগের পার্থক্য mvn clean install। আমার পুরানো মাভেন প্রকল্পগুলির জন্য, এটি দেখিয়েছে

[INFO] --- maven-compiler-plugin:2.3.2:compile (default-compile) @ oldProject---

তবে আমার নতুন প্রকল্পের জন্য এটি প্রদর্শিত হয়েছিল:

[INFO] --- maven-compiler-plugin:2.0.2:compile (default-compile) @ newProject ---

সুতরাং, আমি POM.xmlপুরানো প্রকল্পের পিওমে এই জিনিসটি দেখেছি এবং লক্ষ্য করেছি:

<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>2.3.2</version>
            <configuration>
                <source>1.7</source>
                <target>1.7</target>
            </configuration>
        </plugin>
    </plugins>
</build>

মূলত, এই প্লাগইনটি সংকলনের জন্য কোন সংকলক সংস্করণটি ব্যবহার করবে তা বলে। এটি কেবল নতুন প্রকল্পের POM.xmlএবং জিনিসগুলিতে কাজ করেছে added

আশা করি এটি কারও কাজে লাগবে।


এটি এই প্রশ্নের বৈধ উত্তর নয়। লক্ষণগুলি আলাদা। সমাধানটি আলাদা।
স্টিফেন সি

-1

আমি উইন্ডোজ 7 ব্যবহার করছি, আমার যে সমস্যাটি ছিল তা সহজ ছিল:

আমার জেভা_হোম এনভায়রনমেন্ট ভেরিয়েবল ভ্যালু:

"C:\Program Files\Java\jdk1.7.0_51;"

যখন এটি চায়:

"C:\Program Files\Java\jdk1.7.0_51"

আবারও আধা-কোলন!

:)

এইভাবেই আমি এই সমস্যার সমাধান করেছি, সুতরাং এটির একটি সম্ভাব্য সমাধান হওয়া উচিত।

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