フォルダーにクラスと jar があります。sqlite-jdbc-3.7.2.jar dbBuilder.class
dbBuilder.class を実行するには、コマンド ラインでこれを実行します。
java -classpath ".:sqlite-jdbc-3.7.2.jar" dbBuilder
これらを一緒に Jar したい場合は、次のようなマニフェストを作成します。
Main-Class: dbBuilder
Class-Path: sqlite-jdbc-3.7.2.jar
そして、私はそれを次のようにコンパイルします:
jar cfm dbTest.jar Manifest.txt dbBuilder.class sqlite-jdbc-3.7.2.jar
次に実行します。
java -jar dbBuilder.jar
そして、私はこのスタックトレースを取得します:
スレッド「メイン」での例外 java.lang.ClassNotFoundException: org.sqlite.JDBC at java.net.URLClassLoader$1.run(URLClassLoader.java:202) at java.security.AccessController.doPrivileged(Native Method) at java.net. URLClassLoader.findClass(URLClassLoader.java:190) で java.lang.ClassLoader.loadClass(ClassLoader.java:306) で sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301) で java.lang.ClassLoader.loadClass (ClassLoader.java:247) で java.lang.Class.forName0(Native Method) で java.lang.Class.forName(Class.java:171) で dbBuilder.createTables(dbBuilder.java:22) で dbBuilder.main( dbBuilder.java:67)
jarなしで実行するときに使用するクラスパスがマニフェストに入れたクラスパスと異なるため、混乱していますが、クラスとして実行するために使用するクラスパスを使用して、マニフェストに入れてみましたそれもうまくいきませんでした。したがって、コンパイルする方法もフォローアップする方法もわかりません-このdbBuilder.jarが機能したら、それを再度jarして、sqliteクラスにアクセスできますか? 前もって感謝します !!