2012-12-05 113 views
3
  1. 1.My项目中的每个主类构建罐子有两大类我想建立罐子使用gradle这个每个主类。我的源代码有2个文件ValidationRule.java SupportValidator.java这两个文件都有一个主类每个我想要 为每个主类构建jar 我可以通过eclipse实现相同的工作正常 2.我想加载源代码我的项目文件从2个不同的文件夹,有些部分是在一个文件夹中,其余部分是 有 另一个文件夹,即像 项目/ src snd项目外的另一个文件夹(../../../ SharedClass)使用gradle这个

    我的脚本如下

    apply plugin: 'eclipse' 
    apply plugin: 'java' 
    
    sourceCompatibility = 1.6 
    archivesBaseName = 'Process_XY' 
    
    configurations { 
        configurations.compile.transitive = false 
    } 
    
    dependencies { 
        compile fileTree(dir:'/trunk/Solutions/project/Source/Binaries/CommonFunctions/build/libs', include: '*.jar') 
        compile fileTree(dir:'/trunk/Solutions/project/lib/GeoTools/geotools-2.7.4-bin/geotools-2.7.4', include: '*.jar') 
        compile "org.apache.hadoop:hadoop-core:1.0.3" 
        compile "commons-collections:commons-collections:3.2.1" 
        compile "commons-configuration:commons-configuration:1.6" 
        compile "commons-discovery:commons-discovery:0.2" 
        compile "commons-lang:commons-lang:2.4" 
        compile "commons-logging:commons-logging:1.1.1" 
        compile "commons-logging:commons-logging:1.0.4" 
        compile "log4j:log4j:1.2.16" 
        compile "com.vividsolutions:jts:1.8" 
        compile "commons-net:commons-net:1.4.1" 
        compile "org.apache.hadoop:hadoop-core:1.0.3" 
        compile "commons-httpclient:commons-httpclient:3.0.1" 
        compile "org.mortbay.jetty:servlet-api:2.5-20081211" 
        compile "org.apache.hbase:hbase:0.94.0" 
        compile "org.apache.zookeeper:zookeeper:3.4.3" 
    } 
    
    repositories { 
        mavenCentral() 
        maven { url "https://repository.cloudera.com/artifactory/cloudera-repos/" } 
        maven { url "http://repo.springsource.org/libs-release" } 
        maven { url "http://repo.springsource.org/libs-milestone" } 
        maven { url "http://repo.springsource.org/libs-snapshot" } 
        maven { url "http://www.datanucleus.org/downloads/maven2/" } 
        maven { url "http://oss.sonatype.org/content/repositories/snapshots" } 
        maven { url "http://people.apache.org/~rawson/repo" } 
    } 
    
    jar { 
        from configurations.compile.collect { it.isDirectory() ? it : zipTree(it) } 
        manifest.attributes("Main-Class":"org.project.seismic.Process_XY") 
    } 
    
    sourceSets { 
        main { 
         java { 
          source = ['src/org', '../../../SharedClass/org'] 
         } 
        } 
    } 
    

    以上在sourceSets方法我试图从2文件夹加载源,但它 没有工作

    在此先感谢.. !! 如何实现使用gradle。

+0

你能澄清一下你在问什么吗?你在看什么目录结构?你有什么尝试? –

回答

7

好吧,首先,在SourceDirectorySetsource另需SourceDirectorySet。然而,srcDirs方法需要路径。该块更改为以下:

sourceSets { 
    main { 
    java { 
     srcDirs ['src/org', '../../../SharedClass/org'] 
    } 
    } 
} 

你可以轻松地添加第二个jar任务如下:

task secondJar(type: Jar) { 
    name = other-main-jar 
    from ... 
    manifest.attributes(...) 
} 

assemble.dependsOn(secondJar) 

这将注册名为secondJar一个新的jar任务,并确保当项目组装,这个罐子也被创建。

+0

你可以给予更多的澄清 – Rajendra

+0

不完全清楚从我的答案你不明白。你错过了什么,或者我没有回答你的问题? –