使用PowerShell编译和运行Java应用程序

5
我正在尝试编译一个Helloworld.java的示例文件。 我的jdk安装在C:\Program Files\jdk1.7\bin中。 我的Helloworld.java文件在C:\Helloworld.java中。
实际上,我对powershell和java都是新手。我从网上找了一些示例,但其中很多都建议像这样运行:
java.exe -classpath $Env:CLASSPATH C:\Helloworld.java
但是当我在powershell中输入此命令时,会出现一个错误,指出“CLASSPATH”未定义,即使我已将其添加到环境变量中。
当我尝试使用以下语法编译代码时:
$javac C:\Helloworld.java I get an error "javac is not recognised as a token".

我在这个主题上确实迷失了。任何一个像我这样的小白都会非常感激有一个逐步操作的过程,以便使用PowerShell运行Java程序。


这是一个有趣的问题,但目前看来Gradle似乎是最好的选择。 - Thufir
3个回答

5
在您的系统中设置环境变量。
JAVA_HOME 设为 C:\Program Files\jdk1.7 将字符串 %JAVA_HOME%\bin 添加到 PATH 变量中
打开新的 cmd 会话。
导航到您的 Java 源文件夹。
使用 javac 编译您的 Java 文件。
更新:
如果您在通过 PowerShell 启动可执行文件时遇到困难,请查看此 Microsoft TechNet 文章

我能够通过cmd提示符编译和运行它,但我想仅使用PowerShell脚本来完成。 - Jquery Developer
请纠正我如果我错了,您已经正确设置了PATH变量并且可以从任何文件夹执行javac命令,但是当您尝试通过PowerShell执行javac命令时,出现了“javac未找到”的错误。我的理解正确吗? - user784540
我已经更新了我的答案,请查看更新,其中包含一个链接到 Microsoft Technet 文章,该文章解释了如何通过 PowerShell 运行可执行文件。 - user784540

1

你所提到的变量在PowerShell中并不存在。

正确的变量名称为

$Env:JAVA_HOME: C:\jdk1.6.0;

$Env:PATH: C:\jdk1.6.0\bin;.;

$Env:CLASSPATH: C:\jdk1.6.0\lib;.;

因为它们都必须在 ENV: PSDrive 中定义


0
以更简单的方式回答,这是路径问题。
你可能没有设置环境变量,就是这样。
这是你应该设置的方式:
JAVA_HOME: C:\jdk1.6.0;

PATH: C:\jdk1.6.0\bin;.;

CLASSPATH: C:\jdk1.6.0\lib;.;

如果之后您打开命令提示符并键入java -version,如果能够看到Java已安装的版本,则说明一切就绪。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接