小编Raj*_*ath的帖子

使用Java在Windows上"杀死进程树"

我有一个Java webstart进程,它是Windows批处理脚本的一部分.在这种情况下,我在批处理脚本中使用javaws命令.使用"apache commons exec"以编程方式调用此匹配脚本(start.bat).在某些情况下,javaws调用的java进程会挂起,我必须从批处理脚本start.bat开始终止整个进程线程.有没有通过apache commons exec杀死整个进程树的程序方法?

我尝试过使用"execWatchdog.destroyProcess();" 在"start.bat"脚本上.但是它只会杀死start.bat进程而不是整个进程树.

有没有办法通过apache-commons-exec或类似的代码杀死整个进程树?

我已经看到这个问题在c ++中执行相当于"杀死进程树"的Windows,它在c ++中执行相同的任务.我想知道是否有人通过JNI实现了调用Windows本机系统调用.

java apache-commons-exec

5
推荐指数
2
解决办法
4064
查看次数

如何使 javaCompile 与 Gradle 中的 groovyCompile 共享类路径

我有一个 Gradle 任务,其中包含 Groovy 和 Java 源文件。Groovy 和 Java 源文件都位于“src/main/java”源目录中。以下是 sourceSet 语句。Groovy 编译器编译 .groovy 和 .java 文件。然而,某些 java 文件(指定的 sourceSet.main.java )需要使用“-parameters”Java 编译器选项进行编译。java 文件依赖于使用 Groovy 编译的某些类,因此“compileJava”的类路径需要使用 GroovyCompile 编译的类。

有没有办法修改compileJAva的类路径以包含GroovyCompile输出文件夹?

compileJava {
    options.fork = true
    options.compilerArgs << '-parameters' 
    options.verbose = true
    //classpath = sourceSet.main.compileClasspath
}
tasks.withType(GroovyCompile) {
    dependsOn = []
}
compileJava.dependsOn(compileGroovy)

sourceSets {
    main {
        groovy { srcDirs = ['src/main/java'] 
            excludes = ['scenarioDesigner/ScenarioDesignerUtil.java',
                'scenarioDesigner/BusinessClass.java',
                'scenarioDesigner/BusinessLayer/**']
        }
        java { srcDirs = ['src/main/java/com/myOrg/proton_ng']
            includes = ['scenarioDesigner/ScenarioDesignerUtil.java',
                        'scenarioDesigner/BusinessClass.java',
                        'scenarioDesigner/BusinessLayer/**']
        } 
    }
}
Run Code Online (Sandbox Code Playgroud)

java groovy gradle

5
推荐指数
0
解决办法
259
查看次数

在 VMWare 托管的 Windows 10 计算机上运行 Docker 容器时出错

我有一台托管在 VMWare (vShpere 6.2) 上的 Windows 10 计算机。我正在尝试在这台机器上运行 docker 容器,并且我已经在机器上安装了“Docker for Windows”。运行 hello-world 容器时,出现以下错误。

c:\> docker run hello-world
docker: Error response from daemon: container b631237e1d24f87c3a578a753f550ce30aaaf1b5e21b984db5da7b59a83d7c20 encountered an error during CreateContainer: failure in a Windows system call: No hypervisor is present on this system. (0xc0351000) 
Run Code Online (Sandbox Code Playgroud)

相同的指令适用于装有 Windows 10 的物理机。在来宾 Windows-10 计算机上启用了 Hyper-V。

我在https://learn.microsoft.com/en-us/virtualization/hyper-v-on-windows/user-guide/nested-virtualization上找到了说明,但这与 Hyper-V 而不是 vmware 相关。

是否有关于如何在 VMWare 托管的 Windows 操作系统上运行 docker 的说明?我使用“Docker for Windows”的目的是为了能够在 vware 上的 windows-10 客户操作系统上运行 windows-continer。

vmware virtual-machine docker

2
推荐指数
1
解决办法
5978
查看次数