我的單元測驗optaplanner-rewrite使用 OpenRewrite bom 1.11.0 使用以下代碼:
@Override
public void defaults(RecipeSpec spec) {
spec.recipe(new AsConstraintBuilder())
.parser(JavaParser.fromJavaVersion()
.classpath("optaplanner-core"));
}
它在 Maven 中運行良好。
但是當我在我的 IDE (IntelliJ) 中運行單元測驗時,我收到了這個錯誤:
java.lang.IllegalArgumentException: Unable to find runtime dependencies beginning with: 'optaplanner-core'
at org.openrewrite.java.JavaParser.dependenciesFromClasspath(JavaParser.java:97)
at org.openrewrite.java.JavaParser$Builder.classpath(JavaParser.java:250)
這是因為我的 IDE 視窗打開了一個多專案,其中包括optaplanner-core和optaplanner-rewrite. 我的測驗運行的類路徑中沒有optaplanner-core.jar,只有optaplanner-core/target/classes.
如何在 IntelliJ 中運行單元測驗?
uj5u.com熱心網友回復:
這不是一個合適的解決方案,但作為一種解決方法,您應該能夠像這樣加載整個類路徑:
@Override
public void defaults(RecipeSpec spec) {
List<Path> classpath = new ClassGraph().getClasspathURIs().stream().map(Paths::get).toList();
spec.recipe(new AsConstraintBuilder())
.parser(JavaParser.fromJavaVersion()
.classpath(classpath));
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/532315.html
標籤:智能理念打开重写
