如何从库项目中部署Jar

时间:2019-03-05 13:08:03

标签: java gradle deployment

我有一个Java项目库,其中有几个文件夹,每个文件夹都有特定的部分并具有自己的依赖性。
由于我在本地工作,因此我想在本地部署该库,并使Jar导入到另一个项目。

由于这个原因,我使用gradle,我要做的是转到该目录,在该目录中我拥有库的所有文件夹,依次是gradle initgradle build
由于我需要本地文件,因此我可以使用gradle publishToMavenLocal,它可以在~/.m2/....下创建一个jar文件。现在的问题是,这个jar文件似乎只包含一个META-INF文件夹,而其中包含一个manifest.mf文件。
This是所使用的build.gradle文件。

我在做什么错?我应该做些不同的事情吗?

1 个答案:

答案 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')