首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法从Idea为Java 9运行maven安装(tools.jar未找到)

无法从Idea为Java 9运行maven安装(tools.jar未找到)
EN

Stack Overflow用户
提问于 2018-03-07 17:04:41
回答 2查看 1.5K关注 0票数 2

我将我的项目从Java 8迁移到Java 9。现在,当我在Intellij Idea中对这个项目运行maven安装时,它失败了,出现了以下错误:

项目教程中的目标org.apache.maven.plugins:maven-compiler-plugin:3.7.0:compile (默认编译)执行失败:致命错误编译:未找到tools.jar : C:\Program \Java\jdk-9.0.1.\lib\tools.jar ->帮助1

Idea运行以下命令:

代码语言:javascript
复制
"C:\Program Files\Java\jdk-9.0.1\bin\java" "-Dmaven.multiModuleProjectDirectory=C:\Users\User\workspace\tutorial" -Dmaven.home=C:\Users\User\install\apache-maven-3.3.9 -Dclassworlds.conf=C:\Users\User\install\apache-maven-3.3.9\bin\m2.conf "-javaagent:C:\Program Files\JetBrains\IntelliJ IDEA Community Edition 2017.3.2\lib\idea_rt.jar=63961:C:\Program Files\JetBrains\IntelliJ IDEA Community Edition 2017.3.2\bin" -Dfile.encoding=UTF-8 -classpath "C:\Program Files\JetBrains\IntelliJ IDEA Community Edition 2017.3.2\lib\idea_rt.jar" com.intellij.rt.execution.CommandLineWrapper C:\Users\User\AppData\Local\Temp\idea_classpath org.codehaus.classworlds.Launcher -Didea.version=2017.3.2 -s C:\Users\User\.m2\settings.xml install -DskipTests -P localhost

如果我从Windows命令行运行mvn安装,它可以正常工作。

所有设置指向Java 9:

代码语言:javascript
复制
C:\Users\User>java -version
java version "9.0.1"
Java(TM) SE Runtime Environment (build 9.0.1+11)
Java HotSpot(TM) 64-Bit Server VM (build 9.0.1+11, mixed mode)

C:\Users\User>echo %JAVA_HOME%
C:\Program Files\Java\jdk-9.0.1

C:\Users\User>echo %JRE_HOME%
C:\Program Files\Java\jre-9.0.1

C:\Users\User>echo %IDEA_JDK%
C:\Program Files\Java\jdk-9.0.1

C:\Users\User>echo %IDEA_JDK_64%
C:\Program Files\Java\jdk-9.0.1

在概念上,以下设置都指向Java 9:

  • 项目结构->项目设置->模块->源->语言级别(图片)
  • 项目结构->项目设置->模块->依赖->模块SDK (图片)
  • 文件->设置->构建、执行、部署->构建工具->Maven->Runner->JRE (图片)

我的pom的相关片段:

代码语言:javascript
复制
<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-compiler-plugin</artifactId>
    <version>${maven-compiler-plugin.version}</version>
    <configuration>
        <source>${java.version}</source>
        <target>${java.version}</target>
        <testSource>${java.version}</testSource>
        <testTarget>${java.version}</testTarget>
        <compilerArgument>-Xlint:all</compilerArgument>
        <showWarnings>true</showWarnings>
        <showDeprecation>true</showDeprecation>
        <meminitial>${maven-compiler-meminitial}</meminitial>
        <maxmem>${maven-compiler-maxmem}</maxmem>
        <compilerArgs>
            <arg>--add-modules</arg>
            <arg>java.xml.bind</arg>
            <arg>--add-modules</arg>
            <arg>java.se.ee</arg>
        </compilerArgs>
    </configuration>
</plugin>

<properties>
    <java.version>9</java.version>
    <maven-compiler-meminitial>512m</maven-compiler-meminitial>
    <maven-compiler-maxmem>1024m</maven-compiler-maxmem>
    <maven-compiler-plugin.version>3.7.0</maven-compiler-plugin.version>
</properties>

如果有任何可能出问题的建议,我将不胜感激。

更新

我还注意到,这个想法显示JAVA指向设置中的1.8个(图片),而环境变量指向1.9 (图片)。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-03-16 16:45:32

如果有人有类似的问题,我可以通过执行以下步骤来修复它:

  • 安装了2018.1版本的候选版本(在JetBrains论坛上建议)。
  • 在Idea中将Maven安装改为捆绑。
  • 删除了我的项目中的.idea目录,并将其重新导入为maven项目。
票数 1
EN

Stack Overflow用户

发布于 2018-03-08 08:12:15

在启动时,intellij以这种方式确定JDK。参见intellij安装目录(bin)中的idea.bat文件

*找到将用于运行IDE的JDK安装目录。*尝试(顺序):IDEA_JDK、idea%BITS%.exe.jdk、..\jre、JDK_HOME、JAVA_HOME。

希望这能有所帮助

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49157515

复制
相关文章

相似问题

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