我的 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 插件..如何在 eclipse 中从 JRE 更改为 JDK?

有帮助吗?

解决方案

您可以尝试更新JDK Eclipse中使用,如下所示:

...添加和在窗口 - >偏好设置JRE ...-> Java的>已安装的JRE:

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

这确保了Eclipse将流失的JDK,而不是你机器上的任何默认JRE。

您尝试:

转到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仅在第一部分(TIL的/ ..)由C:\Program Files\Java\jdk1.6.0_27\jre替换是有道理的。

设置叉真正解决我的问题。

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

非常感谢你,山姆Yang..you让我很快乐

我有EXACT同样的问题!一直在寻找,寻找天,因为所有关于呀呀“把-vm C:\ Program Files文件\的Java \ jdkxxxxx \ BIN”在ini AR作为参数的shortcurt根本不heklp! (我让人沮丧?相信我,这是一个轻描淡写!我只是愤怒,因为我失去了一个星期试图让Maven可靠!)

我已经很不可预知的行为。有时编译,有时没有。如果我做了一个maven干净,它找不到编译器和失败。如果我再在构建路径改变的东西,它突然又工作!

直到我去窗口 - >首选项 - >爪哇 - >安装JRE的。我添加了一个新的JRE使用JDK的位置,然后删除JRE。突然行家跑了稳定!

这也许是值得投入字母与字体大小30个左右在apache手册? 恕我直言,这是Java社区简直令人发指!我无法想象有多少天是由这些人全部丢失,试图找出他们的这样那样的问题!我不能想象这被释放的最终版本。我个人甚至不敢公布姓名测试软件下,这样的事情......

亲切的问候无论哪种方式....篡改我终于可以开始开发的一周后。我希望我的老板不会了解这一点。我花了很多的精力来说服他不要去。NET和我已经感到后悔的。

我使用运行同样的问题 - >的Maven安装在Eclipse中。 JAVA_HOME和的eclipse.ini还行,指着我的最新的JDK。但m2clipse使用JRE。使用MVN安装Eclipse外工作得很好! 在我来说,我解决了这个问题,如下所示: 1.导航在Eclipse:窗口 - >首选项 - >爪哇 - >已安装的JRE 2.有一个JRE和JDK两个非活动条目。有源一个是最新的JDK安装。删除所有条目,但一个行家应该使用。

我想行家没有考虑到acount哪一个是活动...

我刚安装行家3.0.4,设置M2_HOMEM2JAVA_HOME相应。然后我跑以下命令:

mvn archetype:generate....

mvn compile

我被失败消息,如:maven unable to locate javac compiler

在我的电脑,我已经默认安装JRE在 C:\ Program Files文件\的Java \ jre.1.6 的。 和我有其他的 C:\ java的\ JDK1.6 JAVA_HOME设置为此的 C:\ java的\ JDK1.6

我看不出什么毛病我的设置。搜索后,我决定看看mvn.bat,我附和%JAVA_HOME%每一个步骤,它正确地显示为C:\java\jdk1.6但是当我运行命令:mvn --version,它显示Java主页: 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%

希望这有助于。

注意:这是命令行,而不是使用Eclipse mvn

这听起来像Maven是使用JRE,而不是JDK。也许你在安装JDK之前安装的Maven?

检查设置文件。总体而言,系统,用户和项目有3个。其最有可能在安装配置($ M2_HOME / CONF / settings.xml中),或者可能每个用户配置($ {user.dir来} /。2 / settings.xml中)。

我通过将已安装的 JRE 的位置更改为 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 在 Eclipse 中安装 JRE 时,我在 Maven 中遇到了相同的错误(Ant 工作正常)。

通过将安装的 JRE 更改为 C:\Program Files\Java\jdk1.7.0_03\jre7 由于在 Eclipse 中安装了 JRE,问题已解决。

仅 Eclipse 设置

执行以下步骤:

  1. 右键单击 Eclipse 项目属性

  2. Java 构建路径 -> 库

  3. 选择 JRE 系统库 -> 单击编辑按钮

  4. 单击“已安装的 JRE...”按钮

  5. 将 JRE 编辑为:设置 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 - >已安装的JRE指向C:\Program files\Java\jre,当我将其改为C:\Program files\Java\JDK 6.0\jre它工作100%。

正如一些人所说,在Eclipse Window->Preferences...->Java->Installed JREs应指向的 JDK 您安装的应用于JRE。只有这样,它可以在该错误消息中提到的../lib文件夹。

即使这样,问题可能发生。我在Eclipse(朱诺)出路是做一个Maven -> Update project...之后问题消失。

我怀疑原因是,一些的Eclipse生成的文件(的.classpath,的.project,.preferences)是颠覆对于其中我有这些问题的项目。因此,一个svn更新引入的问题,从在Eclipse行家一个配置更新再次解析它。

实时溶液:的忽略的Eclipse生成从版本控制 .files,并让行家Eclipse插件手柄项目配置。 (附加指针/建议欢迎)

不要忘了,如果你是从一个特定的Eclipse配置运行项目,你应该在“运行配置”更改Java运行时 - >“你的Maven配置” - >“JRE tab'after你加入正确的JDK到Eclipse的偏好。

在我的情况下,在蚀Run-> Debug Configurations 在所选择的JRE选项卡的JDK代替JRE解决了这个问题。

我对亚马逊的Linux同样的问题。原来我必须安装JDK的开发人员版本:

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

转到Eclipse的窗口 - >首选项...-> Java的>安装的JRE应该指向你安装了JDK,而不是JRE的。

我猜想,编译器的位置在一个POM被定义为编译器插件是在显示的JRE位置,代替已JAVA_HOME指向JDK位置。

如果您设置了 JAVA_HOME,但问题仍然存在,请尝试以下操作。(我在新安装的电脑上遇到了同样的问题。)

假设您正在使用 Eclipse。

  • 打开窗口 - 首选项 - Java-安装了JRE的删除您所拥有的所有内容,添加您想要使用的所需的(JDK,No JRE!)
  • 在同一窗口中打开 maven - 安装,添加您下载并解压到某处的 mave 安装。(不要使用嵌入式 Maven 安装,它有一些已知的错误)

就这样。您的项目不会遇到此类问题。希望有帮助。

您也可以确保Eclipse拥有所有的更新变化。要做到这一点,右键单击您的项目,然后按“刷新”菜单项。

您需要指明JAVA_HOME mvn.ini(它在Maven的文件夹/bin),以及您的问题就会消失。

许多其他答案告诉您将 Eclipse 指向 JDK 而不是 JRE。

这是另一个答案,[比我在此处的任何答案中看到的]更具体/清晰,一步步说明如何做到这一点: 如何安装JDK?

这就是解决我同样问题的方法。

我有同样的错误,因为JUNIT版本,我不得不3       3.8.1我已更改为4.8.1。

因此该解决方案是

您必须去POM,并确保你的依赖性看起来像这样

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

我改变行家编译-插件的配置添加可执行和叉值真。

            <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>

这为我工作。

Make sure the "-vm" in your eclipse.ini is on two sperate lines, ie:

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

do Echo %JAVA_HOME%
then mvn --version

JRE path should be same.... then go Window -> preferences - java - installed jre's
location should be same as what Java_Home is showing.

Go to the Properties making right click on the project.

In LINKED RESOURCES add a new Path called JAVA_HOME and put your jdk location, something like "C:\Program Files\Java\jdk1.8.0_73"

That's all!!

Solution to this problem is very simple....

If you don't have ANT build file then generate it. In eclipse you can easily create a ANT file.

Refer to the link to create ANT build file [http://www.codejava.net/ides/eclipse/how-to-create-ant-build-file-for-existing-java-project-in-eclipse].

Now follow the given steps:

1) Add your ANT build file in ANT view that is in view window.

2) right click on your ANT build file and select Run As and the second option in that "Ant Build".

3) Now a dialog box will open with various options and tabs.

4) Select the JRE tab.

5) you will see 3 radio buttons and they will be having JRE or JDK selected as an option.

6) Look carefully if the radio button options are having JRE as selected then change it to JDK.

7) Click apply.

That's it...!!!

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top