2

私は Web アプリケーションを開発していて、壁にぶち当たったので、アドバイスが必要です。そのため、アプリケーションは、もう当社にいない同僚によって書かれました。彼らは、バックエンドに Java と Javascript を使用して Apache Tomcat 用の Web アプリケーションを作成しました。このアプリケーションは、JDBC API を使用して SQL Server データベースとやり取りします。この人はすべての開発を Eclipse で行い、この方法で実行しました。

この Web アプリケーションをサーバーに移動しようとしています。Eclipse を使用して WAR ファイルをエクスポートし、これを Tomcat webapps フォルダー内に配置して、これを試みました。その後、Tomcat を起動すると、プログラムが抽出されました。ここまでは順調ですね。ウェブサイトが表示され、うまく機能します。ただし、データベース情報に依存するページにアクセスしようとすると、すべてが NULL になります。Tomcat のログを調べたところ、標準出力に次のメッセージが表示されていることがわかりました。

ClassNotFoundException: com.microsoft.sqlserver.jdbc.SQLServerDriver

WAR ファイルにはすべての依存関係が含まれると想定していましたが、おそらくそうではないと推測しています。誰かが経験した場合、これは何が起こったのですか?誰かが知っている場合、Eclipseにこれを行うように指示する方法はありますか? それ以外の場合、私のオプションは何ですか? 私は Java 開発者ではないので、必要に応じて JDBC をインストールする方法がわかりません。

どんな助けでも大歓迎です。マイク

4

2 に答える 2

1

次のことができます

  1. Microsoft JDBC ドライバーのダウンロードページに移動し、JDBC ドライバーをダウンロードして、ある場所にインストールします。
  2. または など.warの zip ユーティリティを使用してファイルを開きます。7-zipwinzip
  3. sqljdb_4.0/enuダウンロードした JDBC ドライバーをインストールしたディレクトリーから sqljdbc.jar をコピーしWEB-INF/lib、解凍した war ファイルに貼り付けます。
  4. ファイルとして.war圧縮し、再度デプロイします。

これにより、アプリケーションが実行されます。

これを完全に修正したい場合は、ビルド システムのビルド中のファイル、つまり ANT を使用している場合は build.xml、またはこの特定の依存関係のセクションの下にある Maven の pom.xml に含める停止を追加する必要がありsqljdbc.jarます。 .WEB-INF/libwardependencies

于 2012-10-15T03:16:04.637 に答える
0

「WAR のエクスポート > tomcat へのコピー > tomcat の開始」を手動で実行する必要はありません。Tomcat インストールで直接展開を行うように Eclipse を構成し、Tomcat サーバーをダブルクリックしてから、「Tomcat インストールを使用」を選択します。 「サーバーの場所」セクション。 ここに画像の説明を入力

sqljdbc4.jarアプリケーションのプロジェクトディレクトリにSQLServer JDBC ドライバー ( ) が含まれていることを確認しますWebContent/WEB-INF/lib(同僚がプロジェクト レイアウトに Eclipse の「動的 Web プロジェクト」を使用したと仮定します)。含まれていない場合は、ここからダウンロードし、解凍して上記のフォルダーにコピーします。次回 tomcat を起動すると、自動的に追加されます。

プロジェクトが Maven プロジェクト レイアウトを使用している場合 (pom.xmlプロジェクト ルート フォルダーに名前の付いたファイルがあります)、次の手順を使用してローカル リポジトリに依存関係をインストールします (ドライバーのライセンスと再配布に関して、Maven と Microsoft の間にいくつかの意見の相違があります。したがって、レポはありません)

于 2012-10-15T03:20:20.500 に答える