質問

そこで、フォルダーc: folder folderbabyにある実行可能瓶を設定します

JARには、JDBCを使用してMySQLへの呼び出しがたくさん含まれています

コマンドラインとCDからc: folder folderbabyに移動してからJava -jar thejar.jarを実行すると、適切に実行され、データベースに正常にアクセスできます。

しかし、CDをC:にcdしてからJava -jar C: Folder FolderBaby thejar.jarを実行すると、エラーの束を返します。

Trying to add database driver (JDBC): RmiJdbc.RJDriver - Error, not in CLASSPATH
?
Trying to add database driver (JDBC): jdbc.idbDriver - Error, not in CLASSPATH?
Trying to add database driver (JDBC): com.mckoi.JDBCDriver - Error, not in CLASS
PATH?
Trying to add database driver (JDBC): org.hsqldb.jdbcDriver - Error, not in CLAS
SPATH?
java.sql.SQLException: No suitable driver found for jdbc:idb=experiments.prp
java.lang.IllegalStateException: Not connected, please connect first!
false

まず、JARには、アクセスするデータベースに関する情報を含む.propファイルが必要です。プロップファイルは瓶自体の内部に含まれています...プロップファイルがJAR内にあるにもかかわらず、プロップファイルが見つからなかったため、エラーがあると思います

これを修正するには、瓶が含まれている外部のディレクトリからでも呼び出されるようにするにはどうすればよいですか?

##################編集:manifest.mfのコンテンツ##############################

Manifest-Version: 1.0
Rsrc-Class-Path: ./ mysql-connector-java-5.1.17-bin.jar weka-src.jar weka.jar j.jar
Class-Path: .
Rsrc-Main-Class: Main
Main-Class: org.eclipse.jdt.internal.jarinjarloader.JarRsrcLoader
役に立ちましたか?

解決

問題はマニフェストラインだと思います Rsrc-Class-Path Eclipse拡張機能(OracleのJARファイル仕様の一部ではありません)であり、実行時に解決するJARファイルは、 Class-Path 代わりに行。

他のヒント

使用する必要があります

java -classpath C:\folder\folderbaby -jar C:\folder\folderbaby\thejar.jar

これにより、クラスパスが設定され、リクエストした瓶が実行されます。デフォルトでは、Javaは現在のディレクトリをClassPathとして使用し、別のフォルダーに移動すると、瓶がどこにあるかがわかりません。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top