是否有办法让NetBeans将Grails应用程序识别为Maven项目?我在NetBeans中打开了一个使用Maven构建的Grails应用程序。因为pom.xml中的打包元素包含值"Grails -app",而不是war、jar、pom等值,NetBeans将项目标识为Grails应用程序,从而阻止项目解析所需的所有Groovy服务。下面是用于构建项目的pom.xml代码片段:
<artifactId>MPF-SalesQuote</artifactId>
<packaging>grails-app</packaging>
<version>1.0-SNAPSHOT</version>
下面是我在尝试运行项目时收到的一些错误消息:
LogoutController.groovy: 18: unable to resolve class grails.plugin.springsecurity.SpringSecurityUtils
@ line 18, column 1.
import grails.plugin.springsecurity.SpringSecurityUtils
LogoutController.groovy: 19: unable to resolve class org.springframework.security.access.annotation.Secured
@ line 19, column 1.
import org.springframework.security.access.annotation.Secured
UserController.groovy: 4: unable to resolve class org.springframework.security.access.annotation.Secured
@ line 4, column 1.
import org.springframework.security.access.annotation.Secured
^
我相信如果我能让NetBeans将项目标识为Maven项目而不是Grails应用程序,这将解决Groovy服务未解决的问题。
任何使用pom.xml的项目都被认为是maven项目,任何特定于打包的功能都在基础支持之上。
如果您的项目被识别为其他内容,则可能在基本项目文件夹中有/nbproject文件夹。项目识别顺序是固定的,在大多数情况下,maven pom.xml位于/nbproject之后。唯一的解决方法是删除/nbproject并重新启动ide。然后它应该作为maven项目加载。