2016-11-12 7 views
0

私のJavaアプリケーションのコンパイルに問題があります。メインクラスのmysqlが見つかりませんでした。

フォルダ構造:

のsrc/LogServer.java(これはメインクラスである)

のsrc/SocketThread.java

私もそれにMySQLドライバを使用しています。 このファイルはパッケージ化されていません。

私が実行している:

javac -classpath mysql-connector-java-3.1.14-bin.jar *.java 

すべてが正常に動作します。

は、コンパイルを参照してください:

java -classpath mysql-connector-java-3.1.14-bin.jar LogServer 

コンパイラは言う:

[email protected]:~/workspace/LogServer/src$ javac -classpath mysql-connector-java-3.1.14-bin.jar *.java 

[email protected]:~/workspace/LogServer/src$ java -classpath mysql-connector-java-3.1.14-bin.jar LogServer 
Error: Could not find or load main class LogServer 

[email protected]:~/workspace/LogServer/src$ java LogServer 
java.lang.ClassNotFoundException: com.mysql.jdbc.Driver 
    at jdk.internal.loader.BuiltinClassLoader.loadClass([email protected]/BuiltinClassLoader.java:366) 
    at jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass([email protected]/ClassLoaders.java:184) 
    at java.lang.ClassLoader.loadClass([email protected]/ClassLoader.java:419) 
    at java.lang.Class.forName0([email protected]/Native Method) 
    at java.lang.Class.forName([email protected]/Class.java:294) 
    at LogServer.init(LogServer.java:22) 
    at LogServer.main(LogServer.java:51) 
[email protected]:~/workspace/LogServer/src$ 

答えて

0

あなたは-classpath引数を使用する必要があります。あなたのクラスパスでは、あなたは '。'が必要です。あなたの現在のディレクトリがclasspathとmysql-connector-java-3.1.14-bin.jarにあることを確認します。あなたはそれらの2つを一緒にリストに入れます。 Linuxでは、要素は ':'で区切られています。 Windowsでは ';'です。

java -classpath .:mysql-connector-java-3.1.14-bin.jar LogServer 

編集:大規模な編集

+0

クラスとjarファイルが存在する場合に実際に私がsrcフォルダからのjavaとjavacを実行していますよ。そして、それは動作していない – jarekbutek

+0

その後、コマンドjava -classpathからのsrcを削除します。; mysql-connector-java-3.1.14-bin.jar LogServer – ProgrammersBlock

+0

私は知っていますが、動作しません。私はLinux上でそれを実行しています。それは私が他のアプリケーションをコンパイルしようとしているときにすべてがうまくいく、変です。 – jarekbutek

関連する問題