2016-11-05 41 views
0

我有MySpecific.java对于2个项目(proj#1,proj#2)有不同的内容。 我需要为每个项目构建此文件的不同版本。 在Android插件基于这个原因,我可以使用productFlavorshttps://developer.android.com/studio/build/build-variants.htmlGradle java插件 - Android插件产品Flavors的模拟

这是非常强大的工具。

我复制MySpecific.java到2个目录:

src/proj#1/java/com/mycompany/myproject/widget/MySpecific.java 

src/proj#2/java/com/mycompany/myproject/widget/MySpecific.java 

而当我建立proj#1我用productFlavor "proj#1"和最终分配我已经从目录MySpecific.java

proj#1/java/com/mycompany/myproject/widget/MySpecific.java 

当我建立proj#2我用productFlavor "proj#2"和最终分配我有MySpecific.java从目录:

proj#2/java/com/mycompany/myproject/widget/MySpecific.java 

这是非常好的。

现在的问题是: 当我使用纯java项目工作时,有gradle java插件,如productFlavors

回答

0

默认情况下不可用。

你可以做的是定义额外的源代码集并使用它们来编译和添加到最终的JAR中。

+0

我认为源代码集没有帮助。 所以我需要2个版本的MyCustom.java。该文件对于每种口味都有不同的内容。所以我创建了例如将myCustom.java复制到src \ main \ java \ com \ mycompany \ myproject \ client \ ui \ MyCustom.java 至 src \ my_flavor \ java \ com \ mycompany \ myproject \ client \ ui \ MyCustom的.java。但Java编译器抛出错误: MyCustom已定义的类型MyCustom.java/src目录/ my_flavor/JAVA/COM/myCompany的/ myproject的/客户机/ UI /线75的Java问题 还当我的gradle通过运行 gradlew my_flavorjar 我也得到相同的编译错误 – Alexei