从命令行运行java [英] running java from command line
本文介绍了从命令行运行java的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
到目前为止,我一直主要使用eclipse。现在我正在尝试从终端运行java但是我遇到了包的问题。
I have been mostly using eclipse so far. Now I'm trying to run java from terminal but I have a problem with packages.
这是我的 Main.java
file:
package main;
class Main {
public static void main(String[] args) {
System.out.println("it's working");
}
}
我使用 javac进行编译Main.java
然后用 java Main
运行,它给了我:
I compile this using javac Main.java
and then run with java Main
which gives me:
java Main
Exception in thread "main" java.lang.NoClassDefFoundError: Main
Caused by: java.lang.ClassNotFoundException: Main
at java.net.URLClassLoader$1.run(URLClassLoader.java:217)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:205)
at java.lang.ClassLoader.loadClass(ClassLoader.java:321)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:294)
at java.lang.ClassLoader.loadClass(ClassLoader.java:266)
Could not find the main class: Main. Program will exit.
当我删除包主
一切正常。我缺少什么?
When I remove package Main
everything works fine. What am I missing?
java -version
给出:
java version "1.6.0_24"
OpenJDK Runtime Environment (IcedTea6 1.11.4) (6b24-1.11.4-1ubuntu0.12.04.1)
OpenJDK 64-Bit Server VM (build 20.0-b12, mixed mode)
推荐答案
您需要在一个目录级别运行java命令并以完全限定的包名称给出它,例如: java main.Main
You need to run the java command up one directory level and give it in the fully qualified package name, eg: java main.Main
参见 Java Launcher如何查找用户类以了解其工作原理。
See How the Java Launcher Finds User Classes to learn how this works.
这篇关于从命令行运行java的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文