【发布时间】:2013-12-15 13:20:57
【问题描述】:
带有 Gradle 1.9 和 vertx 的 Java Spring 项目。本地梯度分布。 build.gradle 的几行
apply plugin 'java'
apply plugin 'groovy'
apply plugin 'idea'
buildscript {
repositories {
jcenter()
}
}
repositories {
mavenCentral()
}
dependencies {
...
compile 'org.springframework:spring-context-support:3.2.5.RELEASE'
compile 'org.springframework:spring-aop:3.2.5.RELEASE'
compile 'org.springframework:spring-aspects:3.2.5.RELEASE'
...
}
我有一个从 git 下载的现有 gradle 项目,其中包含名为 spring-aop_3_2_5_RELEASE.xml 的 .idea/libraries 文件夹中的 xml 配置,例如,我们可以在其中找到 xml 标记 <library name="spring-aop-3.2.5.RELEASE">...</library>。
在我导入这个项目后,新文件Gradle__spring-aop_3_2_5_RELEASE.xml 出现了,只有library 标签的name 属性不同:Gradle: spring-aop-3.2.5.RELEASE。所以我有依赖项的重复 xml 配置。我想知道为什么我的 gradle 添加了那个前缀。
【问题讨论】:
-
“已经下载的jars”是什么意思?您是否手动向 Eclipse 项目添加了一些其他 Jar?所有依赖项都需要在
dependencies块中声明,并由 Gradle 管理。 -
我的意思是,它被导入到 IDEA 现有的 Intellij 项目中。
-
为什么有一个现有的 IntelliJ 项目?导入 Gradle 构建应该会创建一个新的 IntelliJ 项目,并且您不应该手动向该项目添加依赖项。相反,您应该在 Gradle 构建中声明所有依赖项。
-
我的想法表达错误,是导入的gradle项目。据我了解,.idea/libraries 文件夹中有 xml 配置,它们是从 gradle 依赖项生成的,例如“cglib_2_2.xml”,我们可以在其中找到标签
<library name="cglib-2.2">...</library>。导入项目后,新文件“Gradle__cglib.xml”出现,只有library标签的name属性不同:“Gradle:cglib-2.2”。所以我没有重复的 jars 但重复的 xml 配置,主要问题是如何删除name属性中的前缀“Gradle:”? -
听起来你有一些旧的 XML 文件。删除它们,然后重新导入 Gradle 构建。
标签: java maven intellij-idea gradle