我有两个独立的项目,我不知道是否可以通过在build.gradle中使用api依赖来修复noclassdeffounderror
在我的第一个项目中,我使用这个库:
// https://mvnrepository.com/artifact/org.apache.bcel/bcel
compile group: 'org.apache.bcel', name: 'bcel', version: '6.5.0'
在这个项目的一些方法中,我抛出了一个异常:
throw new AssertionViolatedException("Response validation for " + HeaderValue + "Actual as " + StrActual + " Expected " + StrExpected);
如果我在build.gradle中生成工件并在第二个项目中将其作为import使用
implementation name: 'Project1'
这样做会产生错误:
Step failed
java.lang.NoClassDefFoundError: org/apache/bcel/verifier/exc/AssertionViolatedException
这可以通过在第一个项目中使用api依赖项而不是在第二个项目中添加bcel依赖项来解决吗?
谢谢!
1条答案
按热度按时间368yc8dk1#
如果使用intellij,可以将第一个项目配置为复合生成。
否则,您可以将project1发布到mavenlocal,并在第二个项目中使用mavenlocal存储库。这意味着您要声明与组和版本的依赖关系。
文档表明,在这种情况下,最好使用复合构建。
另一种选择是进行多项目构建,包括project1和project2。在此设置中,project2将声明project1上的子项目依赖关系。