2017-02-22 72 views
0

(请注意,我在Eclipse中/摇篮是新手,所以请多多包涵。)修改的build.gradle引用当地罐子

我想这是因为自定义我想修改以下项目制作:https://github.com/Swagger2Markup/swagger2markup

反过来,我想利用在以下项目改进型二:https://github.com/Swagger2Markup/swagger2markup-gradle-project-template

总的来说,我认为我需要做下面的步骤:

  1. 下载源为该项目并将其编译为本地.jar文件
  2. 修改“模板项目”的build.gradle引用当地的.jar

我觉得我得到了第1步中工作通过将Gradle项目导入Eclipse,转到Gradle Tasks,右键单击“jar”并运行任务。生成一个.jar。

之后,我下载模板项目并将生成的.jar复制到模板项目的libs文件夹中。然后我修改的build.gradle:

我注释掉下buildscript以下行>依赖性

//classpath "io.github.swagger2markup:swagger2markup:1.0.1" 

然后添加以下所述文件的每this post顶部:

apply plugin: 'java' 

dependencies { 
    runtime files('libs/swagger2markup-1.3.1-SNAPSHOT.jar') 
} 

(我也尝试使用compile而不是runtime以及fileTree。)

无论我做什么,模板项目似乎下载了远程(未修改的)二进制文件。

如何强制项目使用本地文件?

+0

如何做你的其他依赖貌似被宣布里面buildscript { dependencies { ... } }?也许它被下载为传递依赖。尝试运行'gradle dependencies'并查看是否可以跟踪它来自哪里。 – sm4

回答

0

的问题是,依赖于该插件还宣布,你可以在这里看到:

https://github.com/Swagger2Markup/swagger2markup-gradle-plugin/blob/master/build.gradle

这意味着依赖经理看到这些下载它。首先,你必须排除它:

classpath 'io.github.swagger2markup:swagger2markup-gradle-plugin:1.2.0', { 
    exclude group: 'io.github.swagger2markup', module: 'swagger2markup-gradle-plugin' 
} 

io.github.swagger2markup:swagger2markup-import-files-ext一样。然后你把你的库放在classpath中。所以

buildscript { 
    repositories { 
     jcenter() 
     mavenCentral() 
     maven { url 'http://oss.jfrog.org/artifactory/oss-snapshot-local/' } 
     //mavenLocal() 
    } 
    dependencies { 
     classpath 'org.asciidoctor:asciidoctor-gradle-plugin:1.5.3' 
     classpath 'org.asciidoctor:asciidoctorj-pdf:1.5.0-alpha.10.1' 
     classpath 'io.github.swagger2markup:swagger2markup-gradle-plugin:1.2.0', { 
      exclude group: 'io.github.swagger2markup', module: 'swagger2markup-gradle-plugin' 
     } 
     classpath files('libs/swagger2markup-1.3.1-SNAPSHOT.jar') // YOUR VERSION 
     classpath "io.github.swagger2markup:swagger2markup-import-files-ext:1.2.0", { 
      exclude group: 'io.github.swagger2markup', module: 'swagger2markup-gradle-plugin' 
     } 
     classpath "com.bluepapa32:gradle-watch-plugin:0.1.5" 
     classpath "org.kordamp.gradle:livereload-gradle-plugin:0.2.1" 
    } 
} 

编辑:你必须使用的依赖作为buildscript依赖,这意味着它必须不只是在dependencies { ... }

+0

看起来不错。谢谢! – user7606813