Java Eclipse之外的类路径问题

Java Eclipse之外的类路径问题,java,eclipse,Java,Eclipse,我有一段非常简单的代码,我正试图在Windows命令行(Windows7)上运行。它在Eclipse中运行良好 我读过 及 但很明显我遗漏了什么或误解了什么 代码如下: import org.eclipse.emf.ecore.util.EcoreUtil; import org.eclipse.emf.common.notify.Notifier; public class MakeUniqIDs { public static void main(String[] args) {

我有一段非常简单的代码,我正试图在Windows命令行(Windows7)上运行。它在Eclipse中运行良好

我读过

但很明显我遗漏了什么或误解了什么

代码如下:

import org.eclipse.emf.ecore.util.EcoreUtil;
import org.eclipse.emf.common.notify.Notifier;
public class MakeUniqIDs {

    public static void main(String[] args) {
        for (int i=0; i<10; i++){
            System.out.println(EcoreUtil.generateUUID());
        }
    }

}
import org.eclipse.emf.ecore.util.EcoreUtil;
导入org.eclipse.emf.common.notify.Notifier;
公共类MakeUniqIDs{
公共静态void main(字符串[]args){

对于(inti=0;i,必须在类路径上指定外部JAR

java -cp path/some.jar; etc.

您使用的类是Eclipse本身的一部分。您可以挖掘它们的JAR,但这通常不是一个好主意似乎用于根据文件内容在源文件中创建UUID,这是IDE功能。

首先确保jar位于该路径中,并且名称与
ls..\lib
dir..\lib
完全相同。然后使用命令(路径正确):

还请注意,您已经导入了
org.eclipse.emf.common.notify.Notifier;
,并且该类位于jar
org.eclipse.emf.common
not
ecore
,您可以删除该行(因为您没有使用它)或添加以
分隔的jar

例如:

javac -classpath "..\lib\org.eclipse.emf.ecore_2.13.0v28170609-0707.jar;..\lib\org.eclipse.emf.common_2.13.0v28170609-0707.jar" MakeUniqIDs.java

如果使用-classpath参数,则必须列出所有需要的jar文件,而不是它们的目录。如果使用相对路径,如..\lib,则它必须相对于运行命令的当前目录。jar文件内容是查找类而不是jar文件所在目录的根。我想,上面的类路径是我放入的jar文件lib目录。the..\lib与我运行命令的位置有关。因此我仍然不确定我缺少了什么。谢谢你的帮助!”我认为,对于我放在lib目录中的jar文件,“你必须有那个jar文件”在-classpath中,不仅仅是lib目录,非常感谢!我错误地输入了第一个.jar文件名——感谢您建议使用dir/ls!@BrianNolan不客气,这种情况会发生。如果可以,尝试使用
选项卡
。@Vasan您是对的,但是-cp也是javac的一部分。
javac -classpath "..\lib\org.eclipse.emf.ecore_2.13.0v28170609-0707.jar;..\lib\org.eclipse.emf.common_2.13.0v28170609-0707.jar" MakeUniqIDs.java