0

我需要从 .net 应用程序编译 java 代码。我尝试运行一个 cmd 进程并给出参数,但它不起作用。关于如何让它发挥作用的任何想法?

4

1 回答 1

2

我已经在 Visual Studio 中为 Mono For Android 项目编译了 java 文件,基本上您仍然需要使用 javac,但您可以创建一个脚本来为您执行此操作。

免责声明:这是一个适用于简单应用程序的简单脚本,它不会取代专用的 Java 构建系统,例如 ANT。我的示例使用 powershell,但可以使用常规批处理文件应用相同的概念。

我们对库的预构建步骤调用了一个 powershell 脚本:

powershell.exe -noprofile C:\mypath\Java\buildj.ps1; exit $LASTEXITCODE

这是一个执行 javac 编译的 powershell 脚本的精简示例:

if (Get-Command javac -errorAction SilentlyContinue)
{
    Get-Childitem C:\mypath\Java\JBin -include *.class -recurse | foreach ($_) {Remove-Item $_.fullname}

    $JavaList = Get-Content C:\filelist.txt

    foreach ($file in $JavaList) {
        $command = "javac C:\mypath\Java\JBin " + $file
        Write-Host $command
        Invoke-Expression $command
    }

}
else {
    throw "javac could not be located. Check your PATH"
}

在 filelist.txt 中,您需要有一个包含完整路径的 java 文件列表。

于 2012-07-05T19:31:03.037 回答