私、私はグルーヴィーに変換することを、次のJava-コードを持っている:GroovyはJavaでメソッドを(署名がジェネリックを含みます)を実行しません
String id = "545cdc81a969";
def execCreateCmdResponse = dockerClient
.execCreateCmd(id)
.withAttachStdout(true)
.withCmd('sh','-c','sleep 5 && exit 5')
.exec()
dockerClient.execStartCmd(execCreateCmdResponse.getId())
.withDetach(false)
.exec(new ExecStartResultCallback(System.out, System.err))
.awaitCompletion()
:Groovyで
String containerId = "545cdc81a969";
ExecCreateCmdResponse execCreateCmdResponse = dockerClient
.execCreateCmd(containerId)
.withAttachStdout(true)
.withCmd("sh", "-c", "sleep 5 && exit 5")
.exec();
ExecStartResultCallback execStartCmd =
dockerClient.execStartCmd(execCreateCmdResponse.getId())
.exec(new ExecStartResultCallback(System.out, System.err))
.awaitCompletion();
私の現在のバージョンはこれです
* What went wrong:
Execution failed for task ':werner'.
> No signature of method: com.github.dockerjava.core.command.ExecStartCmdImpl.exec() is applicable for argument types: (com.github.dockerjava.core.command.ExecStartResultCallback) values: [[email protected]155]
Possible solutions: exec(com.github.dockerjava.api.async.ResultCallback), exec(com.github.dockerjava.api.async.ResultCallback), every(), grep(), every(groovy.lang.Closure), grep(java.lang.Object)
のJava-exec-:
私の問題は、私は次のエラーを取得することを、私はGroovyのコードを実行しようとするとありますこの方法は、署名を持っています
public <T extends ResultCallback<Frame>> T exec(T resultCallback);
私は「ResultCallback」に「新ExecStartResultCallback(のSystem.out、System.errの)」をキャストしようとしたが、それは動作しませんでした。
正しいメソッドが呼び出されるように、GroovyにインスタンスをResultCallback-Instanceとして処理させる方法はありますか?
よろしく、 marbon
最初 'stacktrace'を追加してください。 @marbonを手伝うことができます。 'ExecStartResultCallback'は' ResultCallbackTemplate'タイプのクラスで、ここでは「ResultCallback」のタイプではありません>> https://github.com/docker-java/docker-java/blob/master/src/main/java/ com/github/dockerjava/core/command/ExecStartResultCallback.java –
@VikrantKashyapしかし、「ResultCallbackTemplate」はここで言うように「ResultCallback」です:https://github.com/docker-java/docker-java/blob/master/ src/main/java/com/github/dockerjava/core/async/ResultCallbackTemplate.java –