有时当我重新启动服务器或网络出现故障时,websocket会关闭,我希望能够始终获得当前的连接状态.
我基本上得到以下错误,我希望能够预测它:
WebSocket is already in CLOSING or CLOSED state.
(anonymous function)
InjectedScript._evaluateOn
InjectedScript._evaluateAndWrap
InjectedScript.evaluate
Run Code Online (Sandbox Code Playgroud) 我想将依赖项中可用的所有文件添加到我的工件中,以便将该依赖项上载到另一个Nexus存储库.
我的依赖包含15个文件存储在我的Nexus存储库中相同的GAV下:
myproject.jar
myproject.jar.md5
myproject.jar.sha1
myproject-sources.jar
myproject-sources.jar.md5
myproject-sources.jar.sha1
myproject.tgz
myproject.tgz.md5
myproject.tgz.sha1
myproject.pom
myproject.pom.md5
myproject.pom.sha1
maven-metadata.xml
maven-metadata.xml.md5
maven-metadata.xml.sha1
Run Code Online (Sandbox Code Playgroud)
该-sources.jar文件有一个<classifier>sources</classifier>属性,tgz和pom文件有一个<extension>属性,其他没有什么特别的.
问题是我希望尽可能避免硬编码,只能将GAV参数传递给我的脚本,它可以自己处理任何GAV的所有获取和释放,无论可用的文件是什么.
我现在正在处理的解决方案是直接查询Nexus repo以获取带有这样的URL的文件列表:
http://mynexushost:8081/nexus/service/local/repositories/snapshots/content/${group}/${artifact}/${version}/
这向我发送了一个JSON(接受标头设置为application/json),其中包含我需要检索所有可用文件的URL和内容,下载它们并将它们添加到我的工件中,然后将其上传到我的目标存储库.
我很确定这个解决方案有效,但它绝对不是"Gradle方式",因为它将我与Nexus联系起来并且不使用内置的maven依赖解析实用程序.
如何在不查询Nexus API的情况下解决这个问题?
首先,我的问题类似于这两个问题:
我想使用GNU Gettext实用程序对我的应用程序进行国际化。我设法通过创建translations.properties具有适当键值对的文件来使其工作,但是translations_fr_CA.properties即使我将语言环境显式设置为fr_CA或Locale.CANADA_FRENCH,也无法正常工作。这是我的第一个问题。
第二个也是最重要的问题:由于无法使用漂亮的gettext complete msgid,因此我无法摆脱被废话的.properties文件。我设法将.po文件编译为.class,msgfmt --java2 [...]但是ResourceBundle没有.properties文件将无法加载。
这是我当前测试项目的zip文件:java_gettext_testing.zip
我将zip中包含gnu.gettext.GettextResource简化了。您可以编译javac test/*.java并运行java test.test
谢谢你的帮助!
我如何正确循环这个try catch语句?据我所知,
playerIntInput = reader.nextInt();try块中的内容被执行,它会捕获异常(如果存在),这应该导致loop = false永远不会到达.然后它在catch块中输出消息,它应该循环回try并再次请求输入.相反,我只是从catch块获得一个无限循环的输出.
void CheckInput(int playerIntInput) {
boolean loop = true;
while(loop=true) {
try {
playerIntInput = reader.nextInt();
loop = false;
}
catch(InputMismatchException e) {
System.out.println("Invalid character was used, try again.");
}
}
}
Run Code Online (Sandbox Code Playgroud)