首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用maven编译失败

使用maven编译失败
EN

Stack Overflow用户
提问于 2016-06-24 15:07:43
回答 2查看 5.3K关注 0票数 1

我正在使用eclipse中的maven构建一个星星之火应用程序,但我的编译失败了。我修正了JAVA_HOME系统变量,为它提供了到JDK的路径,而不是JRE的路径,如下所示:

代码语言:javascript
复制
Name:JAVA_HOME , value:C:\Program Files\Java\jdk1.8.0_73

我将这个字符串添加到PATH变量"C:\Program Files\Java\jdk1.8.0_73\bin"中,但是它没有工作。因此,我尝试了不使用"\bin",如下所示,"C:\Program Files\Java\jdk1.8.0_73",但没有什么新的。

因此,我尝试将JDK指向eclipse,如下所示:window->preferences->java->installed JREs,我也选择了JDK,但是这个解决方案也不起作用,所以我决定使用cmd修复它:

代码语言:javascript
复制
set JAVA_HOME="C:\Program Files\Java\jdk1.8.0_73"

echo %JAVA_HOME%

set PATH=%PATH%;%JAVA_HOME%\bin

echo %PATH%

我检查了java -version,结果是jdk1.8.0_73,所以我认为一切都很好,但事实并非如此。

有时,我在错误消息中显示tools.jar丢失了,有时我收到其他错误,其中提到可能我使用的是JRE,而不是JDK (但我确信我是在指向JDK)。它出现在

图2显示了我的pom.xml文件:

这是在文件maven-compile-plugin中使用pom.xml时的第一个错误,如图像所示

错误未能在项目myapp上执行目标org.apache.maven.plugins:maven-compiler-plugin:3.1:compile (默认编译):编译失败错误没有在此环境中提供编译器。也许您是在JRE上运行而不是在JDK上运行?

但是,当我用maven-resources-plugin替换它时,我会得到以下错误:

错误未能在项目myapp上执行目标org.apache.maven.plugins:maven-compiler-plugin:2.5.1:compile (默认编译):致命错误编译: tools.jar未找到:c:\ Files\Java\jre1.8.0_91..\lib\tools.jar ->帮助1错误查看错误的完整堆栈跟踪,用-e开关重新运行Maven。使用-X开关重新运行Maven以启用完全调试日志记录时出错。

我尝试了命令mvn -v,并找到了maven主页(D:\apache-maven-3.1.1),所以这是正常的,但意外的是java (C:\Program )。我再次检查了变量路径,但是它是正确的(C:\Program Files\Java\jdk1.8.0_73\bin),问题是什么?

帮帮忙,我浪费了很多时间来解决这个问题。

我选择了我的项目->构建路径>配置构建路径->库->jre系统库->编辑->执行环境->选择javaSE-1.8 (jdk 1.8.0-73),通常这意味着我使用的是java1.8,但是我得到了这些错误日志:

信息-- maven- resources -plugin:2.6:resources (默认资源)@ myapp -使用平台编码(实际上是Cp1252)复制过滤资源的警告,也就是说构建依赖于平台! 复制0资源信息--maven-编译器-插件:2.5.1:编译(默认-编译)@ myapp 未设置警告文件编码,使用平台编码Cp1252,即编译是平台依赖的! 将一个源文件编译为C:\Users\pc\Desktop\eclipse\myapp\target\classes错误编译错误的信息: 错误C:\Users\pc\Desktop\eclipse\myapp\src\main\java\myapp\Main.java:107,38错误:-source 1.5 INFO生成失败不支持lambda表达式 错误未能在项目myapp上执行目标org.apache.maven.plugins:maven-compiler-plugin:2.5.1:compile (默认编译):编译失败 错误C:\Users\pc\Desktop\eclipse\myapp\src\main\java\myapp\Main.java:107,38错误:-source 1.5中不支持lambda表达式

EN

回答 2

Stack Overflow用户

发布于 2016-06-24 19:09:52

当您更改JAVA_HOME变量时,并不意味着要更改您的。Eclipse管理自己的变量,您可以设置任意数量的JDK。您需要在eclipse中向项目添加和分配JDK。

右键单击您的项目,生成路径->配置生成路径。在正确的选项中选择“”,选择编辑,然后配置JDK。

票数 1
EN

Stack Overflow用户

发布于 2016-06-25 17:23:53

我的问题出乎意料,因为最后问题是在pom.xml文件中而不是在设置中,我只纠正了pom文件中的这个插件,一切都很好。

代码语言:javascript
复制
           <plugin>
            <groupId>org.apache.maven.plugins</groupId>
             <artifactId>maven-compiler-plugin</artifactId>
            <version>3.1</version>
            <configuration>
                <source>1.8</source>
                <target>1.8</target>
            </configuration>
        </plugin>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38016576

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档