Modify build.gradle to reference local jar
(请注意,我是Eclipse / Gradle的新手,所以请多多包涵。)
我正在尝试修改以下项目,因为我想进行自定义:https://github.com/Swagger2Markup/swagger2markup
反过来,我想在以下项目中使用修改后的二进制文件:https://github.com/Swagger2Markup/swagger2markup-gradle-project-template
总的来说,我认为我需要执行以下步骤:
我认为通过将Gradle项目导入Eclipse,转到Gradle Tasks,右键单击" jar"并运行任务,可以迈出第一步。生成一个.jar。
之后,我下载模板项目并将生成的.jar复制到模板项目的libs文件夹中。然后我修改build.gradle:
我在buildscript>依赖项下注释掉以下行
1 | //classpath"io.github.swagger2markup:swagger2markup:1.0.1" |
然后,在每篇文章的文件顶部添加以下内容:
1 2 3 4 5 | apply plugin: 'java' dependencies { runtime files('libs/swagger2markup-1.3.1-SNAPSHOT.jar') } |
(我也尝试使用
无论我做什么,模板项目似乎都下载了远程(未修改的)二进制文件。
如何强制项目使用本地文件?
问题是依赖项也在插件中声明,如您在此处看到的:
https://github.com/Swagger2Markup/swagger2markup-gradle-plugin/blob/master/build.gradle
这意味着依赖管理器会看到并下载它。 首先,您必须排除它:
1 2 3 | classpath 'io.github.swagger2markup:swagger2markup-gradle-plugin:1.2.0', { exclude group: 'io.github.swagger2markup', module: 'swagger2markup-gradle-plugin' } |
与
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | 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依赖项,这意味着它必须在