2

我在一个 grails 项目中安装了 spring-security-core,但由于某种原因,IDEA 没有自动获取 jar 文件。我可以很好地使用 grails 命令行部署应用程序并运行测试......但 IDEA 仍然会使用波浪线。有没有办法让IDEA在我安装插件后自动拾取jar?

4

5 答案 5

3

我不是 100% 这个问题的真正根源是什么。据我所知,IntelliJ 会解析插件内部的 BuildConfig.groovy 来配置依赖项。看来,它没有拾取自动生成的 dependencies.groovy。打包的 spring-security-core 插件只包含一个 dependencies.groovy,没有 BuildConfig.groovy。

我已将以下代码段添加到我的应用程序的 BuildConfig.groovy

dependencies {
    compile('org.springframework.security:org.springframework.security.core:3.0.2.RELEASE') {
        excludes 'com.springsource.org.aopalliance',
                'com.springsource.org.apache.commons.logging',
                'org.springframework.beans',
                'org.springframework.context',
                'org.springframework.core'
    }

    compile('org.springframework.security:org.springframework.security.web:3.0.2.RELEASE') {
        excludes 'com.springsource.javax.servlet',
                'com.springsource.org.aopalliance',
                'com.springsource.org.apache.commons.logging',
                'org.springframework.aop',
                'org.springframework.beans',
                'org.springframework.context',
                'org.springframework.core',
                'org.springframework.web'
    }
    // specify dependencies here under either 'build', 'compile', 'runtime', 'test' or 'provided' scopes eg.

    // runtime 'mysql:mysql-connector-java:5.1.5'
}

有了这个,IntelliJ “知道” Spring Security jars。

于 2010-05-27T07:26:19.533 回答
2

我的问题(9.0.2)是 grailsPlugins 的类路径上没有 grails 库。所以编译依赖项不起作用,你的修复 fabien 有点冗长:-)

IDEA 通常有一个很好的自动错误修复 (alt + enter) 并且在这种情况下它可以工作。它会要求您“将 grails 用户库添加到类路径”。像魅力一样工作,但应该没有必要

于 2010-09-17T07:27:10.443 回答
0
  1. 打开项目结构窗口
  2. 在项目设置中选择模块
  3. 然后选择插件模块。它应该被命名为“myproject-grailsPlugin”
  4. 然后选择选项卡依赖项
  5. 在依赖模块中,选择 Grails User Library(如果不存在,使用 Add -> Global Library 创建)
  6. 编辑这个库并在配置模块库对话框中,选择“附加 JAR 目录”
  7. 选择spring-security-code插件的lib目录。O windows 它应该位于:C:\Users\myuser.grails\1.3.1\projects\myproject\plugins\spring-security-core-0.3.1\lib

就是这样 !

于 2010-05-27T07:24:55.123 回答
0

为什么不直接右键单击您的项目根目录并单击“同步 grails 依赖项”...

于 2010-05-27T21:04:55.163 回答
0

当您将插件目录更改为 BuildConfig.groovy 中默认目录以外的其他目录时,似乎 intellij 9.0.3 无法正确地从插件中获取依赖项

grails.project.plugins.dir = "./plugins"  //breaks plug-ins in intellij

更改插件目录后开始出现找不到类错误。我添加了模块中的依赖项(即 spring-security-core 和 springcache),现在 intellij 将 jar 依赖项添加到“Grails 用户库”中,我可以编译我的应用程序。使用命令行从来没有任何问题。

这是我为 springcache 添加到 BuildConfig 中的内容。

dependencies {   
//for spring-security-core

// 对于 springcache compile("net.sf.ehcache:ehcache-web:2.0.0") { excludes "ehcache-core" // ehcache-core 由 Grails 提供 }

}

于 2010-11-15T10:16:00.487 回答