Spring Roo 项目。项目构建错误:未能执行目标

Posted

技术标签:

【中文标题】Spring Roo 项目。项目构建错误:未能执行目标【英文标题】:Spring Roo project. Project build error: Failed to execute goal 【发布时间】:2019-02-25 02:58:48 【问题描述】:

我根据site的代码创建了一个项目

roo> project setup --topLevelPackage com.foo
roo> jpa setup --provider HIBERNATE --database HYPERSONIC_IN_MEMORY
roo> entity jpa --class ~.domain.Timer
roo> field string --fieldName message --notNull
roo> repository jpa --all
roo> service --all
roo> web mvc setup
roo> web mvc view setup --type THYMELEAF
roo> web mvc controller --all --responseType THYMELEAF
roo> web mvc controller --all --pathPrefix /api
roo> quit
mvn spring-boot:run

项目构建完成,出现如下错误

[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 12.054 s
[INFO] Finished at: 2018-09-20T19:45:28+03:00
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal com.mysema.maven:apt-maven-plugin:1.1.3:process
default) on project hello: You need to run build with JDK or have tools.jar on
he classpath.If this occures during eclipse build make sure you run eclipse und
r JDK as well -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e swi
ch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]

POM.xml 可以找到here。 Spring roo-2.0.0.RELEASE 在 pom.xml 文件(第 592 行)中也会显示错误:

You need to run build with JDK or have tools.jar on the classpath.
If this occures during eclipse build make sure you run eclipse under
 JDK as well (com.mysema.maven:apt-maven-plugin:1.1.3:process:default:generate-sources)

在 elcipse 配置中 - c:\Program Files\Java\jdk1.8.0_181。 当我从命令行mvn spring-boot:run 运行项目时,我得到了相同的结果

【问题讨论】:

错误很明显......您需要使用JDK运行构建或在类路径上有tools.jar。如果在eclipse构建期间发生这种情况,请确保您也在JDK下运行eclipse.. ..你需要安装一个JDK 【参考方案1】:

第一:

不幸的是,这是一个 Eclipse 问题——因为您将 Eclipse 指向 JDK——这很好,但 Eclipse 本身是一个 Java 应用程序,它也在 JVM 中运行。它在 JRE 而不是 JDK 中运行。 解决这个问题的方法是 - 在您的 eclipse.ini(或 STS.ini - 如果您使用的是 Eclipse STS)中 - 您添加第一行:

-vm 
C:\Java\jdk1.8.0_181\bin\javaw.exe
确保放置正确的路径,然后根据Wiki 将这些行放在-vmargs 上方

第二:

还要确保您的 jre 为:

【讨论】:

【参考方案2】:

你必须安装JDK 如果您已经有 JDK,请在 window>preferences>java>Installed JREs 上检查您的 elcipse 配置 并像这样指向你的JDK路径 C:\Program Files\Java\jdk1.8.0_112

【讨论】:

在 elcipse 配置中 - c:\Program Files\Java\jdk1.8.0_181.【参考方案3】:

在 Sts.ini 文件中你需要添加到开头

-vm
c:/Program Files/Java/jdk1.8.0_181/bin/javaw.exe

在文件 pom.xml 中替换 <aspectj.plugin.version>1.8</aspectj.plugin.version> 上的 <aspectj.plugin.version>1.9</aspectj.plugin.version>

【讨论】:

以上是关于Spring Roo 项目。项目构建错误:未能执行目标的主要内容,如果未能解决你的问题,请参考以下文章

将现有 spring 项目转换为使用 roo 帮助

我可以在最新版本的 Roo 中运行我在 STS 中使用 Roo 版本 1.3.1 开发的 Spring roo 项目吗

如何在 spring roo 项目中安装 JPA 持久性提供程序?

在wildfly上运行war spring roo 2.0.0 RC1

使用 Spring Roo 项目并获取 org.hibernate.LazyInitializationException: could not initialize proxy - no Sessi

难以向 Roo 生成的项目添加新视图