如何从终端运行Java程序?
我想从我的终端运行一个Java程序。我有Mac OS X 10.7。如何从终端运行Java程序?
teamL javac -jar kxml2-2.3.0.jar XMLHandler.java ServiceEndpoint.java TeamL.java
这是我的Eclipse类文件结构:
我无法找到这是为什么扔Unable to access jarfile kxml2-2.3.0.jar
?
如果您正在引用任何外部库,那么您必须将它们添加到classpath
。您可以通过这种方式在编译类时添加它。
转到src目录和:
javac -classpath ".:<path_to_jar_file>" teamL/*.java
执行:
java -cp ".:<path_to_jar_file>" teamL.<class_name>
如果您使用Eclipse,然后去<project_directory>/bin/
在这里你可以找到已编译的类(所以你不要有以编译它们)并使用上述命令直接运行它们java
命令
注意:由于您的类按teamL
p ackage,你必须通过指定完全限定名称来运行包装外的类,如teamL.ServiceEndpoint
你不能使用'-jar'用于编译,'-jar'用于直接执行jar应用程序。我不知道你的项目文件夹在哪里!我想你一定知道如何使用终端中的'cd'命令来改变当前目录。只需在终端中cd到'Documents/adsproject/ADS_Deliverable1/src /',然后选择'javac -classpath':
确定看截图,我看到你的项目目录是'home/Users/vsingh3/Documents/adsproject/ADS_Deliverable1'打开一个新的终端,然后键入'cd Documents/adsproject/ADS_Deliverable1/src'然后'javac -classpath“。:Documents/adsproject/ADS_Deliverable1/
谢谢,但我只是注意到你的意见,如果你是在日食上运行。所以,我想我不需要编译。另一件事是,因为我的jar文件没有找到,所以我复制粘贴它在每个文件夹。我在'ADS_Deliverable1-> src-> teamL'中拥有所有源文件和jar文件。我现在正在运行它像''teamL java -cp -jar kxml2-2.3.0.jar XMLHandler.java ServiceEndpoint.java TeamL.java'为什么在线程中抛出'Exception“main”java.lang。NoClassDefFoundError:kxml2-2/3/0/jar 引起:java.lang.ClassNotFoundException:kxml2-2.3.0.jar' – Ava
当您在命令行上执行程序时,是否将该jar添加到类路径中?例如
的java -classpath location_of_jar ...
javac
是编译的,与其你应该使用命令的Java命令。
- 首先设置CLASSPATH
- 然后运行它像这样
java -classpath %classpathVariable% %YourClass% %arguments...
Running a Java Program from Command Prompt这可以给你一个更好的主意是Windows,但与此类似。
对我来说,它看起来像它没有找到jarfile – Neifen
@Vinisa,接受答案并关闭这个问题 – Rakesh