从Intellij IDEA运行JHipster Gradle任务

edu*_*tos 3 intellij-idea spring-boot jhipster

当我从Intellij IDEA运行Gradle时发生此错误..但是从控制台一切正常......有人知道为什么?

执行外部任务'run --stacktrace'...:compileJava UP-TO-DATE:compileScala UP-TO-DATE:bower FAILED

org.gradle.api.tasks.TaskExecutionException:任务':bower'的执行失败.

引起:java.io.IOException:无法运行程序"bower"(在目录"/ Users/eduardo/Development/projects/jhipster"中):error = 2,没有这样的文件或目录

Joh*_*son 10

我联系了JetBrains对此的支持.他们建议的一件事是从命令行运行IntelliJ,这对我有用:

open -a "/Applications/IntelliJ IDEA 15.app"
Run Code Online (Sandbox Code Playgroud)


Lok*_*oki 5

猜测一下,你在OSX上运行IntelliJ,可能还有一个brew安装的凉亭?

最新版本的OSX(至少10.10.1)不允许您轻松设置图形应用程序的PATH(launchctl似乎有一个关于PATH的错误).结合无法修改当前环境PATH以在Java中启动子进程,这导致无法找到bower可执行文件.可以在此处看到根问题的完整纲要(为ProcessBuilder设置环境),但基本上IntelliJ必须正确设置PATH才能搜索非标准PATH.

我现在的解决方案是从https://apple.stackexchange.com/a/51737完全破解- 基本上,创建一个包装脚本:

创建/Application/IntelliJ\ IDEA\ 14.app/Contents/MacOS/idea.sh内容:

#!/bin/sh

. ~/.bash_profile

logger "`dirname \"$0\"`/idea"

exec "`dirname \"$0\"`/idea" $@
Run Code Online (Sandbox Code Playgroud)

然后 chmod +x /Application/IntelliJ\ IDEA\ 14.app/Contents/MacOS/idea.sh

然后编辑/Application/IntelliJ\ IDEA\ 14.app/Contents/Info.plist并设置CFBundleExecutableidea.sh

最后,跑 /System/Library/Frameworks/CoreServices.framework/Frameworks/LaunchServices.framework/Support/lsregister -v -f /Applications/IntelliJ\ IDEA\ 14.app

这是一个黑客,但它的工作原理 ......直到Apple修复了launchctl,它才是我提出的唯一解决方案.

  • 有用!谢谢!我使用了 `/Applications/...` 而不是 `/Application...` (2认同)