嗨,我正在Grails中的一个项目中工作,该项目需要导入这些文件-
import javax.websocket.CloseReason;
import javax.websocket.CloseReason.CloseCode;
import javax.websocket.Endpoint;
import javax.websocket.EndpointConfig;
import javax.websocket.MessageHandler;
import javax.websocket.OnClose;
import javax.websocket.OnMessage;
import javax.websocket.OnOpen;
import javax.websocket.RemoteEndpoint;
import javax.websocket.Session;
因此,当我在Grails项目上工作时,这些导入工作正常,但是现在我被告知将项目转移到Grails插件项目中,该项目将在主项目中导入,所以现在在这种情况下,当我尝试导入上述项目时提到的文件,它告诉我一个错误, The import javax.websocket cannot be resolved.
我试图摆弄BuildConfig.groovy中的某些依赖项,但无法解决此问题。如果有人尝试过,请让我知道如何javax.websocket.*
在Grails插件项目中导入的文件。
谢谢。
这可能是不必要的分号。
在不太可能的情况下,它要涉及的更多,请确保您在IDE之外工作以减少活动变量的数量。首先让它在Grails中运行,然后在GGTS / IntelliJ / etc中使其运行。
插件和应用程序的过程完全相同;为BuildConfig.groovy
包含这些类的jar添加一个依赖项,然后运行grails compile
以触发依赖项解析。如果尚未下载jar,它将下载到本地Maven / Ivy / Gradle缓存中,并将其添加到应用的类路径中。
在这种情况下,混淆的原因是这些类位于tomcat-embed-websocket-<version>.jar
应用程序的类路径中,因为您保留了对Tomcat插件的默认依赖关系,而且显然不是您的插件的依赖关系(并且可能不应该这样)是)。它恰好在应用程序中运行,但是如果您删除了Tomcat插件依赖项(例如改为使用Jetty),它将开始失败。
为了使它起作用,将其添加到您的代码dependencies
块中并运行grails compile
:
compile 'javax.websocket:javax.websocket-api:1.1'
您还应该考虑使用spring-websocket插件,而不是手动完成所有操作。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句