ターミナルからJavaファイルを実行しようとするとエラーが発生します...
Javaバージョン...
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バージョン
javac 1.8.0_181
が付いたJavaファイル名Test4
がありmain
ます。
このコマンドを実行して、 java class
/opt/Tests/Test4/src/test4> javac -cp "/opt/glassfish5/glassfish/lib/*"
Test4.java
そしてそれは正常に動作します、私はTest4.class
ファイルを取得しています
今私はjavaコマンドを実行しようとしています:
/opt/Tests/Test4/src/test4> java -cp "/opt/glassfish5/glassfish/lib/*" Test4
と取得
Error: Could not find or load main class Test4
また
/opt/Tests/Test4/src> java -cp "/opt/glassfish5/glassfish/lib/*" test4.Test4
まだ Error: Could not find or load main class Test4
また
/opt/Tests/Test4/src/test4> java -cp "/opt/glassfish5/glassfish/lib/*"
Test4.class
それでもエラー:メインクラスTest4が見つからないかロードできませんでした
また
/opt/Tests/Test4/src> java -cp "/opt/glassfish5/glassfish/lib/*"
test4.Test4.class
それでもエラー: Could not find or load main class Test4
あなたは私のクラスの下に見つけることができます:
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);
}
}
フォルダ内:
/opt/Tests/Test4/src/test4# ls
Test4.class Test4.java
Test4クラスファイルをクラスパスに含める必要があります。
Test4.classファイルがに/opt/Tests/Test4/src/test4
あり、完全修飾名がtest4.Test4であるとすると、次のようにする必要があります。
/opt/Tests/Test4/src> java -cp "/opt/glassfish5/glassfish/lib/*":"." test4.Test4
ターミナルのディレクトリは/ opt / Tests / Test4 / srcであり、/ opt / Tests / Test4 / src / test4ではないことに注意してください。
お役に立てれば
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加