【发布时间】:2021-07-11 06:43:53
【问题描述】:
我尝试用多个目录中的多个 .java 文件编译一个 java 项目。我认为对我有帮助的唯一标志是@filename,其中 filename 代表具有所有 .java 路径的文件。
我运行的 PowerShell 命令是:
javac @sources.txt
这是错误:
喷溅运算符“@”不能用于引用 表达。 '@sources' 只能用作命令的参数。 要在表达式中引用变量,请使用“$sources”。
我提到我用cmd测试了这个命令,结果是一样的。
使用powershell而不是ant来编译java项目很重要。我也很满意一个解决方案,它可以在不使用 javac 的这个选项的情况下编译我的所有 .java 文件。
我想做的进一步是创建一个 jar 文件。为此,我必须编译 java 文件。
cd $basedir
cmd /r dir "*.java" /s /B > sources.txt
javac "@sources.txt"
我就是这样做的,sources.txt 文件很好。
【问题讨论】:
-
如果我执行
cmd /r dir /s /B > sources.txt,那么sources.txt将包含其自身的完整路径作为第一个参数。那将不是是正确的javac论点。我建议您将列表限制为明确地仅*.java文件:cmd /r dir "*.java" /s /B。
标签: java powershell cmd javac