【发布时间】:2018-05-23 16:42:02
【问题描述】:
由于某种原因,找不到显示在一个项目中发布 jar 然后在另一个项目中使用此 jar 的示例。
所以,我的第一个库项目有以下 build.gradle:
apply plugin: 'java'
apply plugin: 'maven'
apply plugin: 'maven-publish'
version = '1.0.0'
repositories { mavenLocal() }
group = 'com-hlibrary'
publishing {
publications {
mavenJava(MavenPublication) {
from components.java
}
}
}
此脚本发布一个具有以下路径的 jar:
~/.m2/repository/com-hlibrary/gradle-library/1.0.0/gradle-library-1.0.0.jar
同目录下的pom文件gradle-library-1.0.0.pom如下:
<?xml version="1.0" encoding="UTF-8"?>
<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<modelVersion>4.0.0</modelVersion>
<groupId>com-hlibrary</groupId>
<artifactId>gradle-library</artifactId>
<version>1.0.0</version>
</project>
我要使用的Java文件如下:
package com.hlibrary;
import java.time.LocalTime;
public class HourClass {
public static int getHour() {
LocalTime localTime = LocalTime.now();
return localTime.getHour();
}
}
所以,在我的另一个项目中,我有一个 gradle.build,它依赖于构建的 jar:
apply plugin: 'java-library'
apply plugin: 'maven'
apply plugin: 'maven-publish'
repositories {
jcenter()
mavenLocal()
}
dependencies {
compile ("com.hlibrary:gradle-library:1.0.0")
}
但是在我输入之后
gradle dependencies
我看到很多这样的错误:
compile - Dependencies for source set 'main' (deprecated, use 'implementation ' instead).
\--- com.hlibrary:gradle-library:1.0.0 FAILED
【问题讨论】:
-
implementation ("com-hlibrary:gradle-library:1.0.0")在你的 pom 中 groupId 是com-hlibrary...试试看 -
那么“gradle依赖”没有报错,但是还是不能使用这个Library类
-
您发布到
mavenCentral(),但随后您在repositories部分的mavenLocal()中查找您的库。尝试在那里添加mavenCentral() -
试过了,没用