Maven プロジェクトのリモート デプロイメント && Tomcat を使用してデータベース接続を構成する方法

Maven プロジェクトのリモート デプロイメント && Tomcat を使用してデータベース接続を構成する方法

1つ。 tomcat を使用したリモート展開

1.1 発生した問題:

プロジェクトでは、サードパーティの jar パッケージを参照する必要があります。 mvn を使用してプロジェクトをパッケージ化すると、エラー メッセージが報告されます: 'dependencies.dependency.systemPath'for com.dingtalk.api:taobao-sdk-java:jar must be omitted.この問題の原因は、mvn がプロジェクトをパッケージ化するときに、最初に pom.xml を読み込むことです。ローカル リポジトリに依存関係がない場合、エラー メッセージが報告されます。
解決方法: コマンド Mvn install:install-file -Dfile=E:\taobao-sdk-java-auto_1479188381469-20200422.jar -DgroupId=taobao-sdk-java -DartifactId=taobao-sdk-java -Dversion=2.0 -Dpackaging=jar を使用して、サードパーティの jar パッケージをローカル ウェアハウスにインストールします。 pom 依存関係に war を追加し、プロジェクトを war パッケージにパッケージ化します。 そうしないと、デフォルトで jar パッケージになり、デプロイできなくなります。 tomcat config ディレクトリで tomcat-users.xml を設定した後、tomcat を再起動しても問題が解決しない場合は、tomcat サービスを再起動します。 http://localhost:8080/manager/html に正常にアクセスできる場合、構成が成功したことが証明されます。エラーを見つけるには、tomcat ログ情報を通じてエラーの原因をすばやく特定し、問題解決の効率を向上させることができます。5. 以前の試みが失敗した理由は、このプロジェクトがコピーされ、idea のターミナルコマンドラインのパスが以前のプロジェクトのパスのままだったためです。以前のプロジェクトの pom はプラグインを構成していなかったため、接続できませんでした。
1.2 リモート展開構成
(1)プラグインを追加する:

<プラグイン>
  <グループ ID>org.apache.tomcat.maven</グループ ID>
  <artifactId>tomcat7-maven-プラグイン</artifactId>
  <バージョン>2.2</バージョン>
  <構成>
    <ユーザー名>管理者</ユーザー名>
    <パスワード>123456</パスワード>
    <url>http://47.102.123.186:8095/manager/text</url>
    <server>tomcatServer</server> // サーバーの ID と一致するようにする<update>true</update>
    <path>/zw</path>//プロジェクト名</configuration>
</プラグイン>

(2)tomcatディレクトリ内のtomcat-users.xml設定ファイルを設定します。

<ロール ロール名="admin-gui"/> 
<role rolename="manager-gui"/> // HTML インターフェイスへのアクセスを許可します (つまり、URL パスは /manager/html/* です) <role rolename="manager-script"/> // プレーン テキスト インターフェイスへのアクセスを許可します (つまり、URL パスは /manager/text/* です)
<ユーザー ユーザー名="admin" パスワード="123456" 役割="admin-gui、manager-gui、manager-script"/>
//知らせ!このユーザーには複数のロールを追加できます。リモート展開の場合、少なくともこのロールは必須です: manager-script。視覚的な管理のために manager-gui を有効にすることもできます。

(3)Mavenのsetting.xmlファイルをserversタグの下で設定します。

<サーバー>		
<id>tomcat サーバー</id>
<ユーザー名>管理者</ユーザー名>
<パスワード>123456</パスワード>
</サーバー>

(4)次のコマンドを使用します:mvn tomcat7:deploy

二。 tomcat 構成ファイルを使用してデータベース接続構成を構成するための具体的な手順

tomcat の conf ディレクトリで server.xml、context.xml、web.xml を構成する必要があります。
具体的な構成は次のとおりです。Server.xml の GlobalNamingResources タグの下で構成します。

`<リソース名="jdbc/DataSource" auth="コンテナ"
タイプ="javax.sql.DataSource"
ドライバークラス名="com.microsoft.sqlserver.jdbc.SQLServerDriver"		
url="jdbc:sqlserver://192.168.0.1;データベース名=xydi" ユーザー名="sa" 
パスワード="sa" 
maxActive="20" // 最大接続数 maxIdle="10"
maxWait="-1"/>`//最長待機時間

Context.xml での構成:

<ResourceLink name="jdbc/DataSource" global="jdbc/DataSource" 
type="javax.sql.DataSource"/>// server.xml の設定情報をインポートします

Web.xml での構成:

<リソース参照>
<res-ref-name>jdbc/DataSource</res-ref-name>//リソースの名前と一致します <res-type>javax.sql.DataSource</res-type>
<res-auth>コンテナ</res-auth>
</リソース-ref>`

Spring フレームワークを使用する場合:

<bean id="dataSource" クラス="org.springframework.jndi.JndiObjectFactoryBean">
  <プロパティ名="jndiName" 値="java:comp/env/jdbc/DataSource"/>
  <プロパティ名="expectedType" 値="javax.sql.DataSource"/>
</bean>

Spring フレームワークを使用しない場合:

接続 con = null;
コンテキスト c = 新しい InitialContext();
DataSource ds = (DataSource) c.lookup("java:/comp/env/jdbc/DataSource"); //プロジェクト名はcontext.xmlのプロジェクト名と一致している必要があります		
con = ds.getConnection();

要約する

Maven プロジェクトのリモート デプロイメントと Tomcat を使用したデータベース接続の構成に関するこの記事はこれで終わりです。Maven プロジェクトの Tomcat データベース接続のリモート デプロイメントの詳細については、123WORDPRESS.COM の以前の記事を検索するか、次の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • idea2020.3 Maven環境の設定とTomcatの設定に関する詳細なチュートリアル
  • Java (JDK/Tomcat/Maven) ランタイム環境の設定とツール (idea/eclipse) のインストールに関する詳細なチュートリアル
  • IDEA は Java 開発環境 (maven、gradle、tomcat) を構成します。
  • SSMプロジェクトは、ホットデプロイメント構成を実装するためにTomcatとMavenを使用してWARパッケージとしてデプロイされることが多い。
  • Ideaはプロジェクトのデプロイメントを実装するためにmaven-tomcat-pluginを設定します
  • Maven Web プロジェクトを Eclipse にインポートし、Tomcat で実行するように設定します。
  • Maven プロジェクトで Tomcat を設定する 2 つの方法

<<:  Vueはechartsに基づいて3次元の縦棒グラフを実装します

>>:  Docker での MySQL 8.0.20 のインストールと設定のチュートリアル

ブログ    

推薦する

シンプルなページカウントダウンを実現するJavaScript

この記事では、参考までに、シンプルなページカウントダウンを実装するためのJavaScriptの具体的...

Vue スキャフォールディング学習プロジェクト作成方法

1. 足場とは何ですか? 1. Vue CLI Vue CLI は、Vue.js をベースにした迅速...

Vue 仮想リストの実例

目次序文デザイン成し遂げるまとめ序文最近は、いつも延々とスワイプしています。 Weibo をチェック...

シンプルなカレンダー効果を実現する JavaScript コード

この記事では、シンプルなカレンダー効果を実現するためのJavaScriptの具体的なコードを参考まで...

仮想スクロールを簡単に実装するためのVueサンプルコード

目次序文ローリング原理成し遂げるソースコード参照する序文モバイル Web ページの日常的な開発では、...

経験豊富な人が、プロフェッショナルで標準化されたMySQL起動スクリプトの開発方法を紹介します。

シェル スクリプト言語は、すべてのプログラミング言語の中で最も単純な言語であるため、資格のある Li...

MySQL インデックスの失敗を引き起こす一般的な書き込み方法の概要

序文最近、古いプロジェクトから残ったいくつかの SQL 最適化の問題に対処するのに忙しくしています。...

Amoeba を使用して MySQL データベースの読み取り/書き込み分離を実装する方法の詳細な説明

MySQL には読み取りと書き込みを分離するアーキテクチャが多数あります。Baidu のそれらのほと...

コンテンツウェブページの画像プレビューのデザイン

<br />以前、「コンテンツページ番号のプレビューナビゲーション」と「写真プレビューナ...

Linuxで中断されたシステムを呼び出す方法

序文低速システム コールとは、決して戻らない可能性があり、プロセスを永久にブロックするシステム コー...

JSフロントエンドモジュール化のいくつかの仕様についての簡単な説明

目次序文フロントエンドモジュール開発の価値厄介な名前の競合面倒なファイル依存関係モジュール化の利点C...

Centos7.5 は mysql5.7.24 バイナリ パッケージの展開をインストールします

1. 環境整備:オペレーティング システム: CentOS Linux リリース 7.5.1804 ...

シンプルな広告ウィンドウを実現するjs

この記事では、参考までに、シンプルな広告ウィンドウを実装するためのjsの具体的なコードを紹介します。...

HTML でスクロールバーを非表示にしたり削除したりする方法

1. 属性付きHTMLタグXML/HTML コードコンテンツをクリップボードにコピー< htm...

Vue3は独自のページングコンポーネントをカプセル化します

この記事の例では、vue3 が独自のページングコンポーネントをカプセル化する具体的なコードを参考まで...