groovy - 如何在Gradle构建项目中创建几个ejb jar?

标签 groovy gradle

我有一个多项目构建,并且在每个项目中,我在主src树中都有几个软件包,这些软件包需要与其他src分开打包为单独的EJB Artifact :

com/foo/ejb/ejb1
com/foo/ejb/ejb2
...

每个项目中可以有任意数量的这些EJB(0或几个)。
我的问题是,在常规编译/ jar之后,如何创建一个可以在每个项目中将每个任务作为独立 Artifact 保存的任务?即因此,对于每个项目,我最终得到以下 Artifact :
project.jar (usual Java classes) 
ejb1.jar (MyEjb1Home/Remote/Bean.class, META_INF/[descriptors])
ejb2.jar (MyEjb2Home/Remote/Bean.class, META_INF/[descriptors])
...

任务应该是我可以共享给每个项目的(可能是在根项目中定义的),并且可以自动找到EJB src并为每个项目生成一个jar,而不必在子项目中显式定义EJB(但是也许属性集“containsEjbs”以缩小具有EJB的子项目的范围。

我正在考虑使用文件树来抓取src包(com.foo.ejb。*),然后进行迭代和Jar-ing-但它如何在Tasks上下文中执行此Jar-ing,这是什么我有麻烦了。

克里斯,谢谢您的帮助。

最佳答案

您可以简单地定义一个新的任务类型: jar

task('ejb1', type: Jar) {
  //describe jar contents here as a CopySpec
}

该任务应在“汇编”构建阶段中自动运行。可用功能的完整描述在http://www.gradle.org/0.9-rc-1/docs/userguide/userguide_single.html#artifact_management

关于groovy - 如何在Gradle构建项目中创建几个ejb jar?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3627791/

相关文章:

groovy - jenkins 中找不到 hudson*.groovy

groovy - 如何使用Gradle从txt文件中提取键值对

groovy加载YAML文件修改并将其写入文件中

mysql - 我怎么知道我的执行语句工作正常?

ubuntu - 在 Ubuntu 12.04 上安装 Gradle

android-studio - Gradle-无法获取配置容器的未知属性 'scm'

android - 如何在 Android 上运行 JavaFX

gradle - 执行顺序问题

groovy - Gradle - 动态构建多个发布

spring - 使用gradle构建spring时出现编译错误