Friday 12 January 2018

ubuntu - Java - Error : Could not find or load main class





I am getting a Error while I am trying to run java file from the
terminal...




java
version...



java version
"1.8.0_181"
Java(TM) SE Runtime Environment (build
1.8.0_181-b13)
Java HotSpot(TM) 64-Bit Server VM (build 25.181-b13, mixed
mode)


javac
version




javac
1.8.0_181


I have a
java file name Test4 with a
main.



I am running this
command to create a java
class



/opt/Tests/Test4/src/test4>
javac -cp "/opt/glassfish5/glassfish/lib/*"

Test4.java



and
it work successfully , I am getting the Test4.class
file



now I am trying to run the java
command:



/opt/Tests/Test4/src/test4>
java -cp "/opt/glassfish5/glassfish/lib/*"
Test4


and getting




Error: Could not find
or load main class
Test4


also



/opt/Tests/Test4/src>
java -cp "/opt/glassfish5/glassfish/lib/*"
test4.Test4


still
Error: Could not find or load main class
Test4




also



/opt/Tests/Test4/src/test4>
java -cp "/opt/glassfish5/glassfish/lib/*"

Test4.class


still
Error: Could not find or load main class
Test4



also




/opt/Tests/Test4/src>
java -cp "/opt/glassfish5/glassfish/lib/*"

test4.Test4.class


still
Error: Could not find or load main class
Test4



You can find below my class
:



package
test4;




import
java.util.Hashtable;
import java.util.Map;
import
java.util.Properties;
import javax.jms.Connection;
import
javax.jms.Queue;
import javax.jms.ConnectionFactory;
import
javax.jms.JMSContext;
import
javax.jms.JMSException;

import
javax.jms.JMSProducer;
import javax.jms.QueueConnection;
import
javax.jms.QueueConnectionFactory;
import
javax.naming.Context;
import javax.naming.InitialContext;
import
javax.naming.NamingException;

/**
*
* @author
zion

*/
public class Test4
{

/**
* @param args the command line
arguments
*/
public static void main(String[] args) throws
NamingException {

Context initialContext =
Test4.getInitialContext();


ConnectionFactory
connectionFactory =
(ConnectionFactory)initialContext.lookup("jms/connection");


JMSContext jMSContext = connectionFactory.createContext();
Queue myQueue =
(Queue)initialContext.lookup("jms/myQueue");
JMSProducer jMSProducer =
jMSContext.createProducer();
jMSProducer.send(myQueue, "Hi,Zion");

System.out.println("work work work wrok
wrok");
}




public static
Context getInitialContext() throws NamingException{
Hashtable env = new
Hashtable();
env.put(Context.INITIAL_CONTEXT_FACTORY,
"com.sun.enterprise.naming.impl.SerialInitContextFactory");

env.put(Context.STATE_FACTORIES,
"com.sun.corba.ee.impl.presentation.rmi.JNDIStateFactoryImpl");

env.put(Context.URL_PKG_PREFIXES, "com.sun.enterprise.naming");

env.put("org.omg.CORBA.ORBInitialHost", "IP");

env.put("org.omg.CORBA.ORBInitialPort", "Port");

return new
InitialContext(env);

}

}


Inside
the folder
:



/opt/Tests/Test4/src/test4#
ls
Test4.class
Test4.java


class="post-text" itemprop="text">
class="normal">Answer



You need
to include your Test4 class file to the classpath.



Assuming your Test4.class file is located on
/opt/Tests/Test4/src/test4 and the fully qualified name is
test4.Test4 then you should do something
like:



/opt/Tests/Test4/src> java
-cp "/opt/glassfish5/glassfish/lib/*":"."
test4.Test4



Note that the directory
of the terminal is /opt/Tests/Test4/src and not
/opt/Tests/Test4/src/test4



Hope this
helps



No comments:

Post a Comment

php - file_get_contents shows unexpected output while reading a file

I want to output an inline jpg image as a base64 encoded string, however when I do this : $contents = file_get_contents($filename); print &q...