Brian Nolan
Brian Nolan

Reputation: 1

classpath issues outside of Eclipse

I have a very simple piece of code I am trying to run on the Windows command line (Windows 7). It runs in Eclipse fine.

I have read How to make javac find JAR files? (Eclipse can see them)

and

https://docs.oracle.com/javase/1.5.0/docs/tooldocs/windows/classpath.html#Understanding

but clearly am missing something or misunderstanding something.

Here's the code:

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());
        }
    }

}

When I try to compile it with javac I get following error message: "MakeUniqIDs.java:1: error: package org.eclipse.emf.ecore.util does not exist"

I am in the src directory where the above code lives, and used the following to attempt to compile it: javac -classpath "..\lib\org.eclipse.emf.ecore_2.13.0v28170609-0707.jar" MakeUniqIDs.java

I put the jar files in the lib directory, and also tried putting the path to the eclipse plugins directory into the classpath, but still no go.

Upvotes: 0

Views: 261

Answers (2)

Jose da Silva Gomes
Jose da Silva Gomes

Reputation: 3974

First ensure that the jar is in that path, and the name is exactly the same ls ..\lib or dir ..\lib. Then use the command (with the right path):

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

Also note that you have imported org.eclipse.emf.common.notify.Notifier;, and that class is in the jar org.eclipse.emf.common not ecore, you can remove the line (since you are not using it) or add the jar separated with ;.

Example:

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

Upvotes: 0

Steve11235
Steve11235

Reputation: 2923

You have to specify external JAR on the classpath.

java -cp path/some.jar; etc.

You are using classes that are part of Eclipse itself. You could dig out their JAR, but that's generally not a good idea. generateUUID() seems to be used to create a UUID in source file based on the file content, which is an IDE feature.

Upvotes: 1

Related Questions