JDBI を使用して自分のコンピューターでローカルにプロジェクトを作成しましたが、問題なくデータベースと連携します。
現在、Tomcat サーバーで同じプロジェクトを使用しています。javac -cp "lib/*" cs5530/*.java
lib には、jdbi-2.49.jar などの依存している外部 jar が含まれている場所を使用して、コードをコンパイルしています。
このコードは、新しい DBI を作成する場所です。
public static DAO getDbConnection() {
MysqlDataSource ds = new MysqlDataSource();
ds.setServerName("server");
ds.setUser("user");
ds.setPassword("password");
ds.setDatabaseName("dbName");
DBI dbi = new DBI(ds);
return dbi.onDemand(DAO.class);
}
それは私のクラスコンストラクターで呼び出されました:
public Customer() {
this.conn = getDbConnection();
}
これは私が得るエラーです:
java.lang.NoClassDefFoundError: org/skife/jdbi/v2/DBI
cs5530.Customer.getDbConnection(Customer.java:85)
cs5530.Customer.<init>(Customer.java:31)
org.apache.jsp._1_jsp._jspService(_1_jsp.java:105)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:377)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
では、必要なクラスを確認して正常にコンパイルし、実行時に中断するのはなぜですか?どうすればこれを修正できますか?
ありがとう。