我有一个Java项目库,其中有几个文件夹,每个文件夹都有特定的部分并具有自己的依赖性。
由于我在本地工作,因此我想在本地部署该库,并使Jar导入到另一个项目。
由于这个原因,我使用gradle,我要做的是转到该目录,在该目录中我拥有库的所有文件夹,依次是gradle init
和gradle build
。
由于我需要本地文件,因此我可以使用gradle publishToMavenLocal
,它可以在~/.m2/....
下创建一个jar文件。现在的问题是,这个jar文件似乎只包含一个META-INF
文件夹,而其中包含一个manifest.mf
文件。
This是所使用的build.gradle
文件。
我在做什么错?我应该做些不同的事情吗?
答案 0 :(得分:1)
检查gradle docs 还有一个完整的例子。
请确保添加要编译并在jar中构建的sourceSet。
build.gradle
plugins {
id 'java'
id 'maven-publish'
}
repositories {
mavenLocal()
mavenCentral()
}
sourceCompatibility = 1.8
targetCompatibility = 1.8
sourceSets {
main {
java { srcDir 'src/main/java' }
resources {
srcDirs 'src/main/resources'
}
}
test {
java { srcDir 'src/test/java' }
resources {
srcDirs 'src/test/resources'
}
}
}
publishing {
publications {
maven(MavenPublication) {
groupId = 'org.gradle.sample'
artifactId = 'project1-sample'
version = '1.1'
from components.java
}
}
}
您还可以像这样将您的库项目添加到主项目中:
build.gradle
dependencies {
compile project(':library_project')
}
settings.gradle
rootProject.name = 'Project'
include ":library_project"
project(':library_project').projectDir = new File(settingsDir, '../library_project')