如何在不使用IDE的情况下运行java应用程序?
我有一个java应用程序,其中主类依赖于其他一些类。我可以使用IDE很好地运行应用程序。但是,当我想通过使用如何在不使用IDE的情况下运行java应用程序?,java,command-line,Java,Command Line,我有一个java应用程序,其中主类依赖于其他一些类。我可以使用IDE很好地运行应用程序。但是,当我想通过使用java mainClass定位到主类的类文件来从命令行运行应用程序时,它给出了以下错误[主类名称是mainClass]: Exception in thread "main" java.lang.NoClassDefFoundError: mainClass(wrong name: mainfolder/mainClass) at java.lang.ClassLoader.d
java mainClass
定位到主类的类文件来从命令行运行应用程序时,它给出了以下错误[主类名称是mainClass
]:
Exception in thread "main" java.lang.NoClassDefFoundError: mainClass(wrong name: mainfolder/mainClass)
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(Unknown Source)
at java.security.SecureClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.access$100(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.launcher.LauncherHelper.checkAndLoadMain(Unknown Source)
有人能建议我如何在不使用任何IDE的情况下运行应用程序吗?尝试
mainfolder.mainclass
而不是mainfolder/mainclass
。此外,主文件夹是包
确保将所有需要的jar放在类路径中,使用
-cp
Uou需要指示完全限定名。例如,如果MainClass
在包com.example下,则应执行java com.example.MainClass
你可以查更多
从文件:
默认情况下,第一个非选项参数是要创建的类的名称
被调用。应使用完全限定的类名。如果这个罐子
如果指定了选项,则第一个非选项参数是
包含应用程序的类和资源文件的JAR存档,
使用由主类清单标头指示的启动类。
Java运行时搜索startup类和其他类
用于三组位置:引导类路径、
已安装的扩展,以及用户类路径
无论是否使用IDE,java应用程序都可以从
java -cp classpath EntryClass
如果使用IDE运行应用程序,则使用的IDE会为您准备类路径。如果您在没有IDE的情况下运行,那么您应该自己准备整个类路径
EntryClass也可以通过类路径找到
有关详细信息,请参阅。假设您正在从/home/flyleaf/app运行java程序/ 这将是您需要的命令:
javac -classpath /home/flyleaf/app/jar1.jar:/home/flyleaf/app/jar1.jar:/home/flyleaf/app/ com/app/your/mail/class/Main.java
您需要将所需的jar文件和获取程序的路径添加到类路径中好!通过
package.classname
在main类的类文件
上执行java命令后,从包含类文件的文件夹外部获得了输出
除此之外,jar文件在定位jar文件并执行以下命令后也可以工作java-jarjarname.jar
谢谢大家 尝试过但得到以下结果:-“错误:无法找到或加载main类mainfolder.mainClass”嘿,谢谢!在使用package.classname从包文件夹外部执行java命令后获得输出!嘿,谢谢!在使用package.classname从包文件夹外部执行java命令后获得输出!