java的jre错误_java-Maven错误:也许您在JRE而不是JDK上运行?

java-Maven错误:也许您在JRE而不是JDK上运行?

我以前从未与Maven合作过,并且正在按照这里的说明进行操作。 当我运行命令

mvn integration-test -Pamp-to-war

最初,它下载了一堆依赖关系,最后显示出来,

COMPILATION ERROR :

[INFO] -------------------------------------------------------------

[ERROR] No compiler is provided in this environment. Perhaps you are running on a JRE rather than a JDK?

[INFO] 1 error

我在Ubuntu 13.04上。

如果您想让我告诉您什么,请告诉我。 谢谢。

编辑

当我做mvn -version时我得到/usr/lib/jvm/java-7-openjdk-i386/

当我这样做mvn -version

我明白了

Apache Maven 3.0.4

Maven home: /usr/share/maven

Java version: 1.7.0_25, vendor: Oracle Corporation

Java home: /usr/lib/jvm/java-7-openjdk-i386/jre

Default locale: en_US, platform encoding: UTF-8

OS name: "linux", version: "3.8.0-26-generic", arch: "i386", family: "unix"

另外,我发现了其他人面临的这个问题。 但是我不确定如何执行指定的解决方案?

进一步的编辑。

kraken@kraken-Inspiron-1545:/usr/lib/jvm/java-7-openjdk-i386$ ls -l

total 12

drwxr-xr-x 2 root root 4096 Sep 9 10:44 bin

lrwxrwxrwx 1 root root 41 Jul 4 2013 docs -> ../../../share/doc/openjdk-7-jre- headless

drwxr-xr-x 5 root root 4096 Oct 13 2013 jre

drwxr-xr-x 4 root root 4096 Oct 13 2013 man

18个解决方案

119 votes

我一直在使用Java 8(ubuntu 16.04)遇到相同的问题,试图使用/usr/lib/jvm/java-8-openjdk-amd64命令行进行编译。

我验证了我的/usr/lib/jvm/java-8-openjdk-amd64、java -version和mvn -version。指向/usr/lib/jvm/java-8-openjdk-amd64的一切似乎都还不错。

似乎java-8-openjdk-amd64在默认情况下并未完全安装,仅包含JRE(尽管其名称为“ jdk”)。

重新安装JDK可以解决问题。

sudo apt-get install openjdk-8-jdk

然后,将一些新文件和新文件夹添加到/usr/lib/jvm/java-8-openjdk-amd64,并且mvn可以再次编译。

ced answered 2020-01-10T18:19:21Z

42 votes

显然,它需要$ JAVA_HOME的lib文件夹中的tools.jar文件。 我没有lib文件夹,所以我使用命令重新安装了jdk

apt-get install openjdk-7-jdk openjdk-7-doc openjdk-7-jre-lib

另外,此链接可能会对某些人有所帮助。

Kraken answered 2020-01-10T18:19:45Z

12 votes

这是因为运行jre而不是jdk,所以要安装jdk   以下步骤

在Amazon Linux / Redhat中安装Java 8

-> yum search java | grep openjdk

-> update-alternatives --config javac #pick java 1.8

--> update-alternatives --config javac #pick java 1.8

-> update-alternatives --config javac #pick java 1.8并按1

-> update-alternatives --config javac #pick java 1.8并按2

谢谢

sachin_ur answered 2020-01-10T18:21:31Z

6 votes

对我而言,它的工作原理如下。请查看JAVA_HOME环境变量,它是否指向JRE或JDK。如果它指向JRE,您将面临“也许您正在JRE而不是JDK上运行”的问题。 如果是这样,请将路径更改为JDK。

这样修改,对我有用。

JAVA_HOME C:\ Program Files \ Java \ jdk1.8.0_31

sks answered 2020-01-10T18:22:00Z

4 votes

在pom.xml中添加此配置

...

...

maven-compiler-plugin

3.1

1.7

1.7

true

C:\Program Files\Java\jdk1.7.0_79\bin\javac

...

AnuradhaS answered 2020-01-10T18:22:20Z

3 votes

只需添加更多有关设置位置的详细信息。 主要原因是环境变量中的JAVA_HOME设置应指向正确的JDK位置。

检查系统->高级系统设置

单击环境变量

添加变量JAVA_HOME->“ C:\ Program Files \ Java \ jdk1.8.0_141;”

编辑“路径”->附加%JAVA_HOME%; 到现有文字。

Barani r answered 2020-01-10T18:22:57Z

3 votes

问题陈述=在此环境中未提供编译器。 也许您在JRE而不是JDK上运行?

请按如下所示设置环境变量以解决该问题

变量名称:JAVA_HOME

变量值:C:\ Program Files \ Java \ jdk1.8.0_202

变量名称:M2_HOME

变量值:C:\ Program Files \ apache-maven-3.6.0

此外,在“系统变量”中添加Java和maven路径,如下所示:

C:\ Program Files \ Java \ jdk1.8.0_202 \ bin

C:\ Program Files \ apache-maven-3.6.0 \ bin

Navdeep Ghotra answered 2020-01-10T18:23:56Z

2 votes

这就是我解决问题的方式

右键单击项目>属性> Java编译器(选择您正在使用的那个)

对我来说是1.5,但我安装了1.8。 所以我将其更改为1.8 .. voilla起作用了!

Mack answered 2020-01-10T18:24:25Z

1 votes

检查/ usr / bin是否具有'javac'。 如果尚未安装,则必须安装JRE并必须安装jdk开发人员版本,例如“ java-1.8.0-openjdk-devel.x86_64”

Raja Rajan answered 2020-01-10T18:24:45Z

1 votes

在AWS Linux AMI上安装yum install java-1.8.0-openjdk-devel -y软件包后,我遇到了相同的问题。 我做出的错误假设是,因为文件以openjdk结尾,所以它将是jdk版本。 不是这种情况。

openjdk安装页面清楚地说明了所有内容。

java-1.8.0-openjdk软件包仅包含Java运行时   环境。 如果您要开发Java程序,请安装   java-1.8.0-openjdk-devel软件包。

如果您已经安装了java-1.8.0-openjdk软件包,请保留它和JAVA_HOME值(如果它适用于JRE),然后使用yum install java-1.8.0-openjdk-devel -y安装java-1.8.0-openjdk-devel软件包。

Paul.M answered 2020-01-10T18:25:20Z

1 votes

我面临着同样的问题。 为了解析,我需要将JDK放在PATH中的JRE之前。

MikeF answered 2020-01-10T18:25:39Z

1 votes

我正在使用26968209604261980198016,并以目标26968209604261980198018运行26968209604261980198017命令时遇到相同的错误。经过一番谷歌搜索后,我找到了运行以下命令的解决方案。

sudo yum install java-1.8.0-openjdk-devel

Sheikh Abdul Wahid answered 2020-01-10T18:26:04Z

0 votes

右键单击项目文件夹(Maven之一),选择属性,然后从属性窗口中再次选择Java Compiler,然后查看针对编译器合规性级别选择的内容,并确保它与jre版本相同。 在我的情况下,我有1.8,但针对编译器合规性级别选择了1.5。 选择1.8后,构建成功,没有此错误。

Qaddaffi answered 2020-01-10T18:26:25Z

0 votes

我遇到了相同的错误,但缺少用户变量:JAVA_HOME和SDK的值-在我的情况下为“ C:\ Program Files \ Java \ jdk-9.0.1”

user1913615 answered 2020-01-10T18:26:45Z

0 votes

即使JAVA_HOME指向JDK,我也遇到了问题。 花了一些时间弄清楚为什么会引发异常。

问题是我在窗口计算机上将JAVA_HOME设置为管理员用户。 您需要将指向正确的JDK的JAVA_HOME环境变量添加到用户配置文件环境变量设置中。

Arnav Rao answered 2020-01-10T18:27:09Z

0 votes

为了解决我在Linux上没有JDK的问题,我只需下载JDK并上传到Linux服务器,然后键入:焦油xvf jdk-8u45-linux-x64.tar.gz

Hailin Tan answered 2020-01-10T18:27:29Z

0 votes

我在Eclipse Maven项目中面临着同样的问题,我所做的只是

右键点击项目

Maven->更新项目

或按ALT + F5

Abhishek D K answered 2020-01-10T18:28:02Z

0 votes

如果上述解决方案不起作用,则尝试将Java路径放在环境变量路径中的maven之前。 它为我工作。

C:\Program Files\apache-maven-3.6.1-bin\apache-maven-3.6.1\bin

C:\Program Files\apache-maven-3.6.1-bin\apache-maven-3.6.1\bin

lokesh soni answered 2020-01-10T18:29:27Z

引用提供了关于Java的安装路径,其中指明了JDKJRE的安装路径。引用则提供了一个关于-Djava.ext.dirs参数的示例,该参数用于指定Java扩展目录的位置。引用提供了关于配置Java环境变量的具体步骤。 通过这些信息,我们可以得出结论,错误"-Djava.ext.dirs=D:\Program Files\Java\jdk-11.0.4\jre"指的是在指定Java扩展目录时出现了错误。根据引用中提供的信息,正确的JRE安装路径应该是"C:\Program Files\Java\jdk1.8.0_45"。所以,错误的路径指向了不正确的文件夹,导致无法找到相关的类而报错。正确的做法是根据引用中提供的步骤来配置Java环境变量,并将正确的JRE路径添加到-Djava.ext.dirs参数中。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [Java -Djava.ext.dirs启动的坑](https://blog.csdn.net/weixin_29420421/article/details/114437493)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *3* [jenkins+maven+java(一)-Java的安装](https://blog.csdn.net/baidu_39372836/article/details/96839426)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值