我有一个项目,其中包含一个 Groovy 通用代码模块和一个单独的 Grails web-app 模块。我从 Eclipse 更改为 IntelliJ 12.1.2,这是一个巨大的改进。一切似乎都运行得更好——例如,当我向 Groovy 项目中的类添加字段时,我立即在 Grails 项目的 IntelliSense 中看到它们可用。此外,另一个很大的好处是,我终于能够在 IDE 中调试 Grails 应用程序(万岁,因为不必到处乱扔打印语句的代码!)。

但是,我遇到的问题是,当我执行 Run->Run 'Grails:FooProj' 或 Run->Debug 'Grails:FooProj' 时运行的代码似乎与保存的不同步代码。例如,我可以在代码中添加一条日志语句,然后尝试运行它,但它没有显示出来。就像它使用 jar/wars 的缓存版本一样。

需要注意的一点是,对于我的运行/调试配置,我必须检查 Maven 设置的“脱机工作”框,这样它就不会进入连接下拉 jar 。我希望它使用我对代码所做的本地更改,而不是发布的内容。

如何让 IntelliJ 使用我在调试 Web 应用程序时所做的本地代码更改?我可以去控制台做一个mvn clean install在公共(public)代码项目上,之后它在 IntelliJ 中运行良好,但我不想每次调试我的应用程序时都掉到控制台。

请您参考如下方法:

我有一个问题和出路给你。

问题:-
BuildConfig中是否有以下设置如果您使用的是 Grails 版本 > 2.x?如果没有,您可以尝试添加它,然后运行您的应用程序。

grails.project.dependency.resolution = { 
    pom true 
} 

出路:-

在 InteliJ 中,如果您转到 Run/Debug Configuration -> Maven Settings -> Before Launch(in bottom)并设置 Before Launch Run Maven Goal的配置然后每次运行应用程序时,它都会隐式执行 mvn install为您而不是您在命令提示符下执行此操作。


评论关闭
IT序号网

微信公众号号:IT虾米 (左侧二维码扫一扫)欢迎添加!