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 项目。项目构建错误:未能执行目标的主要内容,如果未能解决你的问题,请参考以下文章
我可以在最新版本的 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