java - 无法在 gradle java 项目中使用 Manifold
问题描述
我有一个基于 JDK 11 的项目,我想在我的 java 项目中使用 Manifold ( http://manifold.systems/ )。
我的 build.gradle:
plugins {
id 'java'
}
//
sourceCompatibility = JavaVersion.VERSION_11
targetCompatibility = JavaVersion.VERSION_11
repositories {
maven { url 'https://oss.sonatype.org/content/repositories/snapshots/' }
}
dependencies {
implementation 'org.projectlombok:lombok:1.18.18'
implementation "io.vavr:vavr:0.10.3"
implementation 'systems.manifold:manifold-science:2021.1.25'
compileOnly 'org.projectlombok:lombok:1.18.20'
annotationProcessor 'org.projectlombok:lombok:1.18.20'
annotationProcessor group: 'systems.manifold', name: 'manifold-ext', version: '2021.1.25'
testCompileOnly 'org.projectlombok:lombok:1.18.20'
testAnnotationProcessor 'org.projectlombok:lombok:1.18.20'
testAnnotationProcessor 'org.openjdk.jmh:jmh-generator-annprocess'
testImplementation 'org.junit.jupiter:junit-jupiter-engine'
}
test {
useJUnitPlatform()
testLogging {
events "passed", "skipped", "failed"
}
}
我试过这个:
import java.math.BigDecimal;
@Extension
public abstract class ManBigDecimalExt implements ComparableUsing<BigDecimal> {
/**
* Supports binary operator {@code +}
*/
public static BigDecimal plus(@This BigDecimal thiz, BigDecimal that) {
return thiz.add(that);
}
}
但它表示没有找到这些 Manifold Annotations:
@Extension
@This
我该怎么办?
解决方案
感谢 Github 页面,它帮助了很多!在浏览了您发送给我的网页后,我找到了解决方案。实际上,在 librarysystems.manifold
中,您提到的注释不存在。添加另一个名为manifold-science
或manifold-ext
类似的实现,
implementation 'systems.manifold:manifold-science:2021.1.25-SNAPSHOT'
或者
implementation 'systems.manifold:manifold-ext:2021.1.25-SNAPSHOT'
并且,添加另一个用于获取库的存储库,
maven { url 'https://oss.sonatype.org/content/repositories/snapshots/' }
不要忘记导入库,
import manifold.ext.rt.api.Extension;
import manifold.ext.rt.api.This;
import manifold.ext.rt.api.ComparableUsing;
希望这应该可以解决问题:D
推荐阅读
- apache-kafka - 如何使用 JMX 导出器将 JMX 指标从 Kafka 消费者推送到普罗米修斯
- github-actions - Github Actions 中的 'name' 和 'id' 有什么区别
- outlook-web-app - 在 Open Web Analytics 中,有没有一种方法可以捕获客户名称、许可证、用户名、电子邮件地址任何 PII 相关信息
- python - 抑制异常但在异常后继续,而不是在抑制后
- javascript - 使用 React.js 类组件中的函数更改状态的属性
- python - 使用环绕遍历所有连续元素对(或三元组)
- javascript - 从 ul 中选择和取消选择一个选项
- reactjs - React Native - 获取本地主机 = 网络请求失败
- huawei-developers - 中国地区的应用程序有什么限制吗?
- python-3.x - TypeError : kick() 接受了 1 个位置争论,但给出了 2 个