如何从库项目部署Jar

问题描述 投票:0回答:1

我在Java中有一个库项目,它是几个文件夹,每个文件夹都有特定的部分,并且有自己的依赖项。 由于我在本地工作,我想在本地部署这个库并让Jar导入到另一个项目。

出于这个原因,我使用gradle,我所做的是进入我拥有库和gradle init以及gradle build的所有文件夹的目录。 因为我想在本地使用这些文件,所以我看到我可以使用gradle publishToMavenLocal,我做了它,它在~/.m2/....下创建了一个jar文件。现在问题是这个jar文件似乎只包含一个META-INF文件夹,里面有一个manifest.mf文件。 This是使用的build.gradle文件。

我究竟做错了什么?我应该做些不同的事吗?

java gradle deployment
1个回答
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')
© www.soinside.com 2019 - 2024. All rights reserved.