فشل بناء Maven: غير قادر على تحديد موقع برنامج التحويل البرمجي Javac في: JRE أو JDK

StackOverflow https://stackoverflow.com/questions/2222560

  •  19-09-2019
  •  | 
  •  

سؤال

لدي مجموعة Java_home الخاصة بي

C:\Program Files (x86)\Java\jdk1.6.0_18

بعد تشغيل Maven Install، أحصل على هذه الرسالة من Eclipse:

سبب:

Unable to locate the Javac Compiler in:
  C:\Program Files (x86)\Java\jre6\..\lib\tools.jar
Please ensure you are using JDK 1.4 or above and
not a JRE (the com.sun.tools.javac.Main class is required).
In most cases you can change the location of your Java
installation by setting the JAVA_HOME environment variable.

أنا متأكد من أن هذا هو الجزء الصعب

يرجى التأكد من أنك تستخدم JDK 1.4 أو أعلى وليس JRE

عندما أقوم بتشغيل التكوين المضطربت إلى Jre6، كيف يمكنني تغييره إلى JDK 1.6 الذي قمت بتثبيته بالفعل

تعديل

لقد حاولت تعديل البرنامج المساعد:

<plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>2.0.2</version>
                <configuration>
                    <source>1.6</source>
                    <target>1.6</target>
                    <executable>C:\Program Files (x86)\Java\jdk1.6.0_18\bin</executable>
                </configuration>
            </plugin>

ما زلت أحصل على نفس الخطأ

ربما نسيت أن أقول إنني أستخدم Eclipse Maven Plugin .. كيف يمكنني التغيير من JRE إلى JDK في الكسوف؟

هل كانت مفيدة؟

المحلول

يمكنك تجربة تحديث Eclipse JDK يستخدم، كما يلي:

إضافة وتعيين JRE في Window-> تفضيلات ...-> Java-> تثبيت JRES:

JRE type: Standard VM JRE 
Name: jdk1.6.0_18
JRE home directory: C:\Program Files (x86)\Java\jdk1.6.0_18

إذا لم يكن الأمر كذلك، فمن الممكن أن تكون الأقواس والمسافات في مسار Java_home تسبب مشكلات. حاول نسخ JDK الخاص بك إلى موقع مختلف وتحديث java_home.

نصائح أخرى

يحتاج Eclipse.ini إلى حجة VM للإشارة إلى موقع JDK الخاص بك.

تحرير eclipse.ini ملف للإشارة إلى منزل JDK الخاص بك، شيء كما يلي -

-vm
C:\Program Files\Java\jdk1.6.0_06

هذا يضمن أن الكسوف سينفد JDK وليس أي جري افتراضي على جهازك.

انت تحاول:

اذهب إلى Preferences/Java/Installed JREs وإضافة واحدة للموقع "C:\Program Files\Java\jdk1.6.0_27\jre أو شيء من هذا القبيل.

إزالة واحد ل C:\Program Files\Java\jre6

كما ترون، المسار C:\Program Files\Java\jre6\..\lib\tools.jar منطقي فقط إذا تم استبدال الجزء الأول (سمسم / ..) C:\Program Files\Java\jdk1.6.0_27\jre.

وضع شوكة إلى True حل المشكلة بالنسبة لي.

<configuration>
<fork>true</fork>
<source>1.6</source>
<target>1.6</target>
</configuration>

شكرا جزيلا لك يا سام يانغ ... لقد جعلت يومي

كان لدي نفس المشكلة بالضبط! تم البحث والبحث عن أيام لأن جميع الحلل حول "وضع الملفات -VM C: برنامج Java JDKXXXXX BIN" في INI AR كوسيطة لمفرط لم يكن على الإطلاق HEKLP! (Do I sound frustrated? Believe me, that's an understatement! I am simply furious because I lost a week trying to make Maven reliable!)

كان لدي سلوك غير متوقع للغاية. في بعض الأحيان جمعت، وأحيانا لا. إذا قمت بتنظيف Maven، فلن تتمكن من العثور على المحول البرمجي وفشلت. إذا غيرت شيئا ما في مسار البناء، فقد عملت فجأة مرة أخرى !!

حتى ذهبت إلى النافذة -> التفضيلات -> Java -> تثبيت JRE's. أضفت جي جديدا باستخدام موقع JDK ثم إزالة JRE. فجأة ركضت مافن مستقرة!

ربما هذا يستحق وضع الحروف مع حجم الخط 30 أو نحو ذلك في دليل Apache؟ مع كل الاحترام الواجب، هذا هو ببساطة الفاحشة لمجتمع Java! لا أستطيع أن أتخيل كم يوما فقدت من قبل كل هؤلاء الأشخاص، في محاولة للعمل مشاكلهم في هذا النوع! لا أستطيع أن أتخيل أن هذا يتم إصداره كإصدار نهائي. أنا شخصيا لن أجرؤ حتى أن يطلق سراح مثل هذا الشيء تحت اسم برنامج بيتا ...

مع التحيات النوع في كلتا الحالتين .... بعد أسبوع من العبث، يمكنني أن أبدأ في النهاية في التطور. آمل ألا يكتشف رئيسي عن هذا. استغرق الأمر منكم الكثير من الجهد لإقناعه بعدم الذهاب إلى .NET وأشعر بالأسف بالفعل.

حصلت على نفس المشكلة باستخدام Run AS -> تثبيت Maven in Eclipse. Java_home و Eclipse.ini كانت موافق وتشير إلى آخر JDK الخاص بي. لكن M2Clipse تستخدم جري. استخدام MVN تثبيت خارج الكسوف يعمل بشكل جيد! في حالتي، قمت بحل المشكلة كما يلي: 1. انتقل في الكسوف: نافذة -> التفضيلات -> Java -> المثبتة JRES 2. كان هناك إدخادان غير نشطين ل JRE و JDK. كان واحد النشط هو أحدث jdk المثبتة. حذف جميع الإدخالات ولكن يجب استخدام Maven واحد.

أعتقد أن مافن لا تأخذ في الوصول إلى أي واحد نشط ...

لقد قمت فقط بتثبيت Maven 3.0.4، مجموعة M2_HOME, M2 و JAVA_HOME وفقاً لذلك. ثم ركضت الأوامر التالية:

mvn archetype:generate....

mvn compile

حصلت على رسالة فشلت مثل: maven unable to locate javac compiler.

على جهاز الكمبيوتر الخاص بي، لدي تثبيت jre الافتراضي في ج: ملفات البرنامج Java Jre.1.6وبعد ولدي الآخر C: Java JDK1.6 و JAVA_HOME ضبط هذا C: Java JDK1.6.

لا أرى أي شيء خاطئ في بي الإعداد. بعد البحث، قررت النظر في mvn.bat, ، رددت %JAVA_HOME% كل خطوة ويعرض بشكل صحيح كما C:\java\jdk1.6 ولكن عندما أقوم بتشغيل الأمر: mvn --version, ، يعرض جافا الرئيسية: C: Program Files Java Jre1.1.6.

أخيرا، اكتشفت أنني بحاجة فقط إلى ضبط -Djava.home=c:\java\jdk1.6 كما هو الحال في الأمر أدناه، والعمل غرامة الآن:

%MAVEN_JAVA_EXE% %MAVEN_OPTS% -classpath %CLASSWORLDS_JAR% "-Dclassworlds.conf=%M2_HOME%\bin\m2.conf" "-Djava.home=%JAVA_HOME%" "-Dmaven.home=%M2_HOME%" %CLASSWORLDS_LAUNCHER% %MAVEN_CMD_LINE_ARGS%

أتمنى أن يساعدك هذا.

ملاحظة: هذا هو mvn في سطر الأوامر وليس مع الكسوف.

يبدو أن Maven يستخدم JRE، وليس JDK. ربما قمت بتثبيت Maven قبل تثبيت JDK؟

افحص ال إعدادات الملفات. وبعد هناك 3 في المجموع والنظام والمستخدم والمشروع. في الأرجح في تكوين التثبيت ($ m2_home / conf / settings.xml) أو، ربما، التكوين لكل مستخدم ($ {user.dir} /. m2 / settings.xml).

بناء على http://maven.apache.org/plugins/maven-compiler-plugin/examples/compile-using-different-jdk.html., ، سيكون عليك تعيين الشوكة إلى True في Pom.xml الخاص بك.

قمت بحل المشكلة عن طريق تغيير موقع الموقع المثبت إلى الدليل الموجود في JDK نفسه. وضع القيمة المناسبة لل JAVA_HOME لم يكن متغير البيئة حل المشكلة.

في حالتي، هناك دلصان

  • C:\Program Files\Java\jdk1.7.0_03 --> For JDK

  • C:\Program Files\Java\jre7 --> For JRE

في البداية أنا وضعت C:\Program Files\Java\jre7 كما تم تثبيت JRE في الكسوف، كنت أحصل على نفس الخطأ في حالة Maven (كان النمل يعمل بشكل جيد).

عن طريق تغيير jre المثبت ل C:\Program Files\Java\jdk1.7.0_03\jre7 كما تم تثبيت JRE في الكسوف تم حل المشكلة.

الإعداد الكسوف فقط

قم بالخطوات التالية:

  1. انقر بزر الماوس الأيمن على خصائص مشروع Eclipse

  2. جافا بناء مسار -> المكتبات

  3. حدد مكتبة نظام JRE -> انقر فوق الزر "تحرير"

  4. انقر فوق "تثبيت JRES ..."

  5. تحرير jre as: set jre home = java_home أو java_home jre

عرض الصور:

enter image description here

شكرا جزيلا،

بارثا

انقر بزر الماوس الأيمن فوق مشروع -> خصائص -> مسار بناء Java. حدد مسار نظام JRE -> تحرير. حدد مساحة العمل الافتراضية JRE، وأشرها إلى JDK> 1.4

Window -> Preferences -> Java -> installed JREs -> Execution Enviroments -> click the checkbox on the right side

الحل بسيط، في بعض الأحيان نوافذ الكسوف -> التفضيل -> Java -> تثبيت JRES المثبت ل C:\Program files\Java\jre, ، عندما غيرت ذلك إلى C:\Program files\Java\JDK 6.0\jre انها تعمل 100٪.

كما ذكرها عدة آخرين، الكسوف Window->Preferences...->Java->Installed JREs يجب أن تشير إلى jdk قمت بتثبيت، ليس إلى جري. عندها فقط يمكن أن تجد ../lib المجلد المذكور في رسالة الخطأ.

حتى مع هذا، قد تكرر المشكلة. طريقي في الكسوف (جونو) هو أن تفعل Maven -> Update project... بعدها تختفي المشكلة.

أظن أن السبب هو أن بعض الملفات التي تم إنشاؤها Eclipse (.ClassPath، .Project، .Preefences) في التخريب للمشروع الذي أحصل عليه فيه هذه المشكلات. وبالتالي، فإن تحديث SVN يقدم المشكلة، وتحديث التكوين من Maven in Eclipse يحلها مرة أخرى.

الحل الحقيقي: حذف الكسوف الناتج .files من التحكم في الإصدار, ، والسماح لتكوين المشروع المكون الإضافي المكون من الكسوف Maven. (مؤشرات إضافية / اقتراحات مرحبا).

لا تنس أنه إذا كنت تقوم بتشغيل مشروعك من تكوين كسوف معين، يجب عليك تغيير وقت تشغيل Java ضمن "تشغيل تكوينات" -> "تكوين Maven" -> "JRE Tab'after، يمكنك إضافة JDK الصحيح تفضيلات الكسوف الخاصة بك.

في حالتي، في الكسوف Run-> Debug Configurationsفي علامة التبويب JRE، حدد JDK بدلا من JRE حل المشكلة.

كان لدي نفس المشكلة على أمازون لينكس. اتضح أنه اضطررت إلى تثبيت إصدار DELL من JDK:

sudo yum -y install java-1.7.0-openjdk-devel

انتقل إلى نافذة الكسوف> تفضيلات ...-> Java-> يجب أن يشير JRES المثبت إلى JDK التي قمت بتثبيتها، وليس إلى JRE.

وأعتقد أن موقع المحول البرمجي محدد في POM للحصول على البرنامج المساعد للمترجم الذي يتم عرضه في موقع JRE، بدلا من موقع JDK لديك Java_home الذي يشير إليه.

إذا قمت بتعيين java_home، وتبادر المشكلة في محاولة ما يلي. (كان لدي نفس المشكلة، على جهاز كمبيوتر مثبت جديد.)

على افتراض أنك تستخدم Eclipse.

  • نافذة مفتوحة - تفضيلات - جافا - تثبيت JRE الخاص بإزالة كل ما لديك، أضف إلى المطلوب الذي تريد استخدامه (JDK، No JRE!)
  • في نفس النافذة، افتحت Maven - Institations، إضافة تثبيت MAFE الذي قمت بتنزيله واستخراجه في مكان ما. (لا تستخدم تركيب Maven المضمن، وله بعض الأخطاء المعروفة)

هذا كل شئ. لن يعاني مشروعك من مشاكل SUTTH. الأمل يساعد.

يمكنك أيضا التأكد من أن Eclipse يحتوي على جميع التغييرات المحدثة. للقيام بذلك، انقر بزر الماوس الأيمن فوق مشروعك ثم اضغط على عنصر القائمة "تحديث".

تحتاج إلى الإشارة JAVA_HOME في mvn.ini (إنه في مجلد Maven /bin)، وسوف تختفي مشكلتك.

تخبرك العديد من الإجابات الأخرى توجيه الكسوف إلى JDK بدلا من JRE.

فيما يلي إجابة أخرى بأكثر تحديدا / واضح [التي رأيتها في أي إجابة هنا] خطوة بخطوة حول كيفية القيام بذلك: كيف يمكنك تثبيت jdk؟

هذا هو ما لحل لي لهذه المشكلة نفسها.

كان لدي نفس الخطأ، بسبب إصدار جاريت، كان لدي 3 3.8.1 وقد تغيرت إلى 4.8.1.

وبالتالي فإن الحل هو

عليك أن تذهب إلى بوم، وتأكد من أن التبعية تبدو وكأنها

 <dependency>
  <groupId>junit</groupId>
  <artifactId>junit</artifactId>
  <version>4.8.1</version>
  <scope>test</scope>
</dependency>

لقد غيرت تكوين البرنامج المساعد المبرنامج من Maven-Companner لإضافة قابل للتنفيذ وشوكة ذات قيمة حقيقية.

            <configuration>
                <fork>true</fork>
                <source>1.6</source>
                <target>1.6</target>
                <executable>C:\Program Files\Java\jdk1.6.0_18\bin\javac</executable>
            </configuration>

عملت معي.

تأكد من أن "-VM" في Eclipse.ini الخاص بك هو على خطين سباهرين، أي:

-vm
C:\Program Files\Java\jdk1.6.0_06

فعل Echo %JAVA_HOME%
من ثم mvn --version

JRE يجب أن يكون المسار نفسه .... ثم اذهب Window -> preferences - java - installed jre's
يجب أن يكون الموقع نفسه Java_Home يظهر.

انتقل إلى الخصائص، انقر بزر الماوس الأيمن فوق المشروع.

في الموارد المرتبطة إضافة مسار جديد يسمى Java_home ووضع موقع JDK الخاص بك، شيء مثل "C: Program Files Java JDK1.8.0_73"

هذا كل شئ!!

الحل لهذه المشكلة هو بسيط جدا ....

إذا لم يكن لديك النمل بناء ملف ثم توليده. في الكسوف يمكنك بسهولة إنشاء النمل ملف.

الرجوع إلى الرابط لإنشاء النمل بناء ملف [http://www.codejava.net/ides/eclipse/how-to-create-ant-build-file-for-existing-java-project-in-eclipse.

اتبع الآن الخطوات المحددة:

1) أضف الخاص بك النمل بناء ملف في عرض النمل الموجود في نافذة العرض.

2) انقر بزر الماوس الأيمن على النمل بناء ملف وحدد اهرب مثل والخيار الثاني في هذا "بناء النمل".

3) الآن سيتم فتح مربع حوار بخيارات وعلامات تبويب مختلفة.

4) حدد جري التبويب.

5) سترى 3 أزرار راديو وسيتم تحديد jre أو jdk بمثابة خيار.

6) انظر بعناية إذا كانت خيارات زر الراديو جري كما هو محدد ثم تغييره إلى jdk.

7) انقر فوق تطبيق.

هذا هو...!!!

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top