我有一个 Java 库项目,其中有几个文件夹,每个文件夹都执行特定的部分并具有自己的依赖项。
由于我在本地工作,我想在本地部署这个库并将 Jar 导入到另一个项目中。
因此,我使用 gradle,我所做的就是转到包含库的所有文件夹和 gradle init
的目录。然后gradle build
.
由于我想要本地文件,我发现可以使用 gradle publishToMavenLocal
,我这样做了,它在 ~/.m2/....
下创建了一个 jar 文件。 。现在的问题是这个 jar 文件似乎只包含 META-INF
文件夹及其内部有一个 manifest.mf
文件。
This是build.gradle
使用的文件。
我做错了什么?我应该做一些不同的事情吗?
最佳答案
检查gradle docs 还有一个完整的示例。
请务必添加您想要在 jar 中编译和构建的源集。
构建.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
}
}
}
您还可以将库项目添加到主项目中,如下所示:
构建.gradle
dependencies {
compile project(':library_project')
}
设置.gradle
rootProject.name = 'Project'
include ":library_project"
project(':library_project').projectDir = new File(settingsDir, '../library_project')
关于java - 如何从库项目部署 Jar,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55003599/