2013-05-21 104 views
6

我想将我所有的java项目(223个项目)迁移到gradle项目。 我使用由SpringSource STS团队开发的Gradle Eclipse插件。将Eclipse java项目(使用java源文件夹)转换为gradle项目

目前,我的所有Java projets被strutured这样的:

MyProjet/ 
+- src/log 
    +- some.package.log 
    +- some.package.log.A 
+- src/tools/core 
    +- some.package 
    +- some.package.tools.B 
    +- some.package.tools.C 
+- src/tools/graph 
    +- some.package.graph 
+- src/tests 
    +- some.package.test.D 
+- src/someModule 

+- otherDirectories 

的src /日志,SRC /工具/核心,SRC /工具/图形,SRC /测试和src/someModule是java源文件夹

将项目转换为gradle后(通过Configure - >“Convert to Gradle Project ...”),所有java源文件夹都成为包。

此外,问题是所有在java类中声明的包都必须修改。例如,Eclipse告诉我: 声明的软件包“some.package.test.tools.A”与预期的软件包“tests.some.package.test.tools.A”不匹配

Eclipse给我可能改变一个类的包装声明。但是我必须为所有课程(有时为一个项目提供超过100个课程)。

我想知道是否有办法将Java项目(使用java源文件夹)转换为gradle项目,而不会影响所有包(我想避免包含修改所有类的操作)

非常感谢您的帮助或任何建议。

奈克。

回答

5

您必须编写Gradle构建脚本,并在其中声明您的源目录结构。 (您不必更改源目录结构或任何包语句。)“转换为Gradle项目”不会为您执行此操作。它只是一种激活项目Gradle支持的方式,这将使Eclipse使用Gradle构建脚本中包含的信息,允许您从IDE执行Gradle构建等。

+1

问题是当我使用“转换为Gradle项目”时,所有Java源文件夹都变成了java包(并且其中一些因为它们的名称而被重构)。即使我把所有的Java源文件夹放在我的构建的sourceSets配置中。gralde,当迁移完成时,java源文件夹被转换为包,并且这个包的结构与之前不一样。所以我需要更新所有包装声明。 – naike

+0

更新软件包声明是错误的解决方案。首先你应该专注于让Gradle构建工作(没有IDE)。然后,不用转换现有的IDE项目,您可以将Gradle构建导入到IDE中,这将创建一个新的IDE项目。 –

+0

好吧,我现在就试试这个。我刚刚在我的Ubuntu上安装了gradle来测试它。 – naike

0

我认为你能做的最好的办法是改变下的“源文件夹”中,通过执行以下步骤:

  1. 打开项目的偏好
  2. 打开Java构建路径
  3. 在“源”选项卡有“构建路径上的源文件夹”。你可以自定义它,以便“src”是一个源文件夹,而不是“/”(因为我猜项目迁移后它已经改变了)。

我希望有帮助!

+0

默认情况下,源文件夹的配置为好。迁移完成后,我以前的所有java源文件夹都将成为包,并存储在'src'文件夹下。在Java Build Path中,它会自动更新。 当我做“转换为Gradle项目”时,java源文件夹被转换为包,但没有保留以前的java源文件夹的结构。 – naike