PowerShell拼接javac和javadoc调用

2021/6/26 7:56:44

本文主要是介绍PowerShell拼接javac和javadoc调用,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

在不能使用maven的情况下,使用PowerShell做生成脚本便于跨平台一次写完到处运行,比.sh+.cmd双实现要方便。PowerShell本身是开源的,也算满足自主可控限制。
指定class目标JRE版本需要的javac参数项(PowerShell Core for Linux上失效,不过一般工业软件又是国产Linux系统上带的都是JDK 1.8)

$javacTargetVerb = if ((Get-Command java).Version.Major -gt 8) { "--release", "8" } else { "-target", "8" }

拼接-cp,以几个commons.apache.org包为例

$dirsep = if ($IsLinux) { ":" } else { ";" }
$dependedJars = "../lib/commons-io-2.6.jar", "../lib/commons-math3-3.6.1.jar"
$dependedJars = [String]::new(($dependedJars | ForEach-Object { ($dirsep + """$_""").ToCharArray() }))
$dependedJars = "-cp", $dependedJars.Substring(1) # 或者"bin"+$dependedJars之类的

在src代码目录下执行javac

javac $javacTargetVerb $dependedJars `
    -Xlint:deprecation -Xlint:unchecked -encoding utf-8 -d ../bin `
    (Get-ChildItem -Recurse -Include *.java)

在src代码目录下执行javadoc

javadoc -quiet $dependedJars `
    -encoding utf-8 -docencoding utf-8 -public -d ../doc `
    (Get-ChildItem -Recurse -Include *.java)


这篇关于PowerShell拼接javac和javadoc调用的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程