我有一个项目corehibernate
和一个项目coregeneral
.corehibernate
依赖于coregeneral
.我需要将jar文件coregeneral
与corehibernate
jar 一起捆绑.我尝试了各种版本的build.gradle
东西,没有任何效果.
我试过了 compile files("../coregeneral/build/libs/coregeneral.jar")
这个版本的fatJar也行不通.
apply plugin: 'java'
repositories {
jcenter()
}
dependencies {
compile (':coregeneral')
testCompile 'junit:junit:4.12'
}
jar {
baseName='corehibernate'
from ('bin')
}
task fatJar(type: Jar, dependsOn: jar) {
baseName = project.name + '-fat'
}
Run Code Online (Sandbox Code Playgroud)
将项目捆绑在一起有两种基本方法。第一种是使用应用程序插件,它创建一个带有脚本的 zip 文件,该脚本也将执行您的应用程序并默认捆绑所有 jar。第二种方法是使用分发插件并自己定义最终存档(zip 或 tar)。
这是使用应用程序插件的示例项目:
设置.gradle
rootProject.name = 'root'
include 'partone', 'parttwo'
Run Code Online (Sandbox Code Playgroud)
构建.gradle
subprojects {
apply plugin: 'java'
}
Run Code Online (Sandbox Code Playgroud)
partone/build.gradle - 这个是空的
第二部分/build.gradle
apply plugin: 'application'
mainClassName = 'Hello'
dependencies {
compile project (':partone')
}
Run Code Online (Sandbox Code Playgroud)
假定这两个项目实际上都有一些内容(类),当您运行时,gradle :projecttwo:build
它将生成一个 zip 文件,其中包含可执行脚本和捆绑在其中的两个 jar。
如果您更喜欢使用分发插件,请将parttwo/build.gradle更改为:
apply plugin: 'distribution'
distributions {
main {
contents {
from jar
from (project.configurations.runtime)
}
}
}
dependencies {
compile project (':partone')
}
Run Code Online (Sandbox Code Playgroud)
并再次运行gradle :parttwo:build
。它将创建一个包含这两个 jar 的 zip 文件。
归档时间: |
|
查看次数: |
623 次 |
最近记录: |