Grails在jar中找不到类

标签 grails jar dependencies classnotfoundexception

我在我的 Grails 项目中包含了一个 jar,并且遇到了一个找不到类的问题。

buildConfig.groovy

dependencies {
    compile "labServices:labServices:1.0"
}
repositories {
    flatDir name:'labServices',  dirs:'../LabServices/build/libs/'
}

- 当我检查 labServices jar 时,它包含类

- 当我检查 .war 它包含 labServices.jar

-当我检查 war 的tomcat部署时,WEB_INF/lib包含jar

失败的代码
//this is a class in the labServices.jar
def clarityCredentials = new Clarity("prod", "xxxx", "xxxx")

错误

org.petermac.util.Clarity. Stacktrace follows: java.lang.ClassNotFoundException: org.petermac.util.Clarity



我已经运行了清理,刷新了 Ivy 缓存,手动删除了所有内容,但仍然无法正常工作。它也在本地运行并通过单元测试(所以这是 war )

注意:即使有一些依赖关系报告,也没有显示 labServices 的依赖关系。这可能是一个问题吗?

我对 Grails(来自 Microsoft)比较陌生,所以任何技巧、想法或调试技术都会很棒。

我很确定这是部署时的类路径设置

更新
删除了不相关的实际代码
import org.petermac.util.Clarity
public class LoadClarityController extends BaseController {
    def load() 
    {
        String samples = params.get("sampleIds")
        def clarityCredentials = new Clarity("prod", "apiuser", "1qaz@WSX")
    }
}

//in LabServices (jar is being included in war)
package org.petermac.util
public class Clarity
{
    public Clarity( server, username, password )
    {
    }
}

该路径甚至出现在 META-INF 中(在 war 中)。另外我还有另一个外部 jar 可以正常工作吗?我很茫然。

最佳答案

因为它在 WAR 中,所以它不是依赖问题,如果它在您的 IDE 和/或 run-app 中被忽略,它只会是一个依赖问题。和/或不包括在 WAR 中。 WEB-INF/lib 中的所有 jar 包含在类路径中,因此它可能是结构性的。包裹是否与文件夹匹配?如果是这样,它通常可以在测试和 run-app 中使用。但不是在部署到容器时。

确保来源包括

package org.petermac.util

Clarity.classorg/petermac/util/在 jar 里。

关于Grails在jar中找不到类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28446015/

相关文章:

java - 如何调试 ContextLoader - 上下文初始化失败和 BeanCreationException

java - 如何在 Eclipse 中导入 jar?

c# - 无法加载文件或程序集 'Newtonsoft.Json, Version=10.0.0.0' - 但是二进制文件存在于 bin 文件夹中

Android 无法解析来自外部 jar 的类

android - 错误 : Unable to resolve dependency for ':react-native-maps@debug/compileClasspath' : Could not resolve androidx. appcompat :appcompat:1. 0.0

java - 如何获取主类的 Java 类依赖项列表?

grails - 如何在 Grails Controller 之间传递错误消息?

javascript - 如何在 JavaScript 中访问 Grails 变量?

grails - Grails3文件上传maxFileSize限制

java - 我应该如何编辑 jar 的 list ?