无法解析 Grails 插件项目导入 javax.websocket
Grails Plugin project import javax.websocket cannot be resolved
您好,我正在使用 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.
我尝试 fiddle 解决 BuildConfig.groovy 中的一些依赖项,但无法解决此问题。如果有人尝试过,请告诉我如何在 Grails 插件项目中导入 javax.websocket.*
的文件。
谢谢。
可能是不必要的分号。
在不太可能的情况下,它比这更复杂,请确保您在 IDE 之外工作以减少活动变量的数量。首先让它在 Grails 中运行,然后让它在 GGTS/IntelliJ/etc.
中运行
插件和应用程序的过程完全相同;在 BuildConfig.groovy
中为包含 类 和 运行 grails compile
的 jar 添加依赖项以触发依赖项解析。这会将 jar 下载到本地 Maven/Ivy/Gradle 缓存(如果尚未下载),并将其添加到应用程序的类路径中。
在这种情况下,混淆来自于这些 类 位于应用程序类路径中的 tomcat-embed-websocket-<version>.jar
中,因为您保留了对 [=34= 的默认依赖性] 插件,显然它不是你的插件的依赖项(它可能不应该是)。它在应用程序中巧合地工作,但如果您删除 Tomcat 插件依赖项(例如改用 Jetty),它就会开始失败。
要使其正常工作,请将其添加到您的 dependencies
块和 运行 grails compile
:
compile 'javax.websocket:javax.websocket-api:1.1'
您还应该考虑使用 spring-websocket 插件,而不是手动执行所有操作。
您好,我正在使用 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.
我尝试 fiddle 解决 BuildConfig.groovy 中的一些依赖项,但无法解决此问题。如果有人尝试过,请告诉我如何在 Grails 插件项目中导入 javax.websocket.*
的文件。
谢谢。
可能是不必要的分号。
在不太可能的情况下,它比这更复杂,请确保您在 IDE 之外工作以减少活动变量的数量。首先让它在 Grails 中运行,然后让它在 GGTS/IntelliJ/etc.
中运行插件和应用程序的过程完全相同;在 BuildConfig.groovy
中为包含 类 和 运行 grails compile
的 jar 添加依赖项以触发依赖项解析。这会将 jar 下载到本地 Maven/Ivy/Gradle 缓存(如果尚未下载),并将其添加到应用程序的类路径中。
在这种情况下,混淆来自于这些 类 位于应用程序类路径中的 tomcat-embed-websocket-<version>.jar
中,因为您保留了对 [=34= 的默认依赖性] 插件,显然它不是你的插件的依赖项(它可能不应该是)。它在应用程序中巧合地工作,但如果您删除 Tomcat 插件依赖项(例如改用 Jetty),它就会开始失败。
要使其正常工作,请将其添加到您的 dependencies
块和 运行 grails compile
:
compile 'javax.websocket:javax.websocket-api:1.1'
您还应该考虑使用 spring-websocket 插件,而不是手动执行所有操作。