Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在ubuntu终端中使用类路径来执行java类?_Java_Linux_Classpath - Fatal编程技术网

如何在ubuntu终端中使用类路径来执行java类?

如何在ubuntu终端中使用类路径来执行java类?,java,linux,classpath,Java,Linux,Classpath,我尝试在终端中使用类路径执行CreateTextFileTest.class文件,如下所示: java -classpath ..:"/home/fatih/NetBeansProjects/Unit17 - CreatingTextFile/src/unit17/unit17/creatingtextfile" CreateTextFileTest 我的类文件在此目录中:/home/fatih/NetBeansProjects/Unit17-CreatingTextFile/src/Unit

我尝试在终端中使用类路径执行CreateTextFileTest.class文件,如下所示:

java -classpath ..:"/home/fatih/NetBeansProjects/Unit17 - CreatingTextFile/src/unit17/unit17/creatingtextfile" CreateTextFileTest
我的类文件在此目录中:
/home/fatih/NetBeansProjects/Unit17-CreatingTextFile/src/Unit17/Unit17/CreatingTextFile

目录中有3个类:
AccountRecord.class
CreateTextFile.class
,和
CreateTextFileTest.class

但是,当我使用上面的代码从终端执行CreateTextFileTest时,出现了如下错误:

Exception in thread "main" java.lang.NoClassDefFoundError: CreateTextFileTest (**wrong name**: unit17/creatingtextfile/CreateTextFileTest) at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.defineClass(ClassLoader.java:800) at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142) at java.net.URLClassLoader.defineClass(URLClassLoader.java:449) at java.net.URLClassLoader.access$100(URLClassLoader.java:71) at java.net.URLClassLoader$1.run(URLClassLoader.java:361) at java.net.URLClassLoader$1.run(URLClassLoader.java:355) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:354) at java.lang.ClassLoader.loadClass(ClassLoader.java:425) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308) at java.lang.ClassLoader.loadClass(ClassLoader.java:358) at sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:482) 线程“main”java.lang.NoClassDefFoundError中出现异常:CreateTextFileTest(**错误名称**:unit17/creatingtextfile/CreateTextFileTest) 位于java.lang.ClassLoader.defineClass1(本机方法) 位于java.lang.ClassLoader.defineClass(ClassLoader.java:800) 位于java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142) 位于java.net.URLClassLoader.defineClass(URLClassLoader.java:449) 在java.net.URLClassLoader.access$100(URLClassLoader.java:71) 在java.net.URLClassLoader$1.run(URLClassLoader.java:361) 在java.net.URLClassLoader$1.run(URLClassLoader.java:355) 位于java.security.AccessController.doPrivileged(本机方法) 位于java.net.URLClassLoader.findClass(URLClassLoader.java:354) 位于java.lang.ClassLoader.loadClass(ClassLoader.java:425) 位于sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308) 位于java.lang.ClassLoader.loadClass(ClassLoader.java:358) 在sun.launcher.LaunchHelper.checkAndLoadMain(LaunchHelper.java:482)中
据我所知,因为
CreateTextFileTest.java
使用两个不同的类,所以执行失败。如何处理这种情况?如何运行我的java项目?在这种情况下如何使用类路径?我使用错了吗?

错误消息指出,在编译的类中声明的包名与JVM根据类路径设置所期望的不匹配。类路径应该指向包启动的目录,而不是实际包含
.class
文件的目录。考虑到您的错误信息,我认为这应该是可行的:

java -classpath ..:"/home/fatih/NetBeansProjects/Unit17 - CreatingTextFile/src/unit17" unit17.creatingtextfile.CreateTextFileTest
考虑到在你的道路上有重复的
unit17
,我觉得这里还混有别的东西。关于……你会得到更好的答案