Java Eclipse之外的类路径问题
我有一段非常简单的代码,我正试图在Windows命令行(Windows7)上运行。它在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) {
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;
,并且该类位于jarorg.eclipse.emf.common
notecore
,您可以删除该行(因为您没有使用它)或添加以;
分隔的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