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 のインストールと設定のチュートリアル

推薦する

Docker Secretの管理と使用の詳細な説明

1. Docker Secretとは1. シナリオ表示MySQL サービスなど、一部のサービスではパ...

Linux プロセスの CPU 使用率が 700% に達し、終了できない場合の解決策

目次1. 問題の発見2. プロセスの詳細情報を表示する3. 解決策4. 大法を再開する1. 問題の発...

Linux/CentOS サーバー セキュリティ構成の一般ガイド

Linux はオープン システムです。インターネット上には、既成のプログラムやツールが多数存在します...

JavaScript のクロージャの問題の詳細な説明

クロージャは、純粋関数型プログラミング言語の伝統的な機能の 1 つです。クロージャをコア言語構造の不...

Centos7サーバーの基本的なセキュリティ設定手順

pingスキャンをオフにする(役に立たないが)まずルートに切り替えるエコー 1 > /proc...

Vue-CLI マルチページディレクトリパッケージ化手順の記録

ページディレクトリ構造 デフォルトの HTML テンプレート ファイル public/index.h...

Zabbixで電子メールアラートを実装する方法

オンラインチュートリアルに従って実装しました。 zabbix3.4、スクリプトとsendEmailを...

CSS のサイズ単位についての簡単な説明

ブラウザの互換性はどんどん良くなってきています。モバイル端末は基本的にすべてWebKitベースです。...

VMware は Centos7 システムの PXE+kickstart 無人インストールの詳細なプロセスを実装します

目次PXEはサーバーの無人バッチ展開を実装します1. PXEの概要1.1 PXEとは何か1.2 キッ...

MySQL の複合インデックスはどのように機能しますか?

目次背景複合インデックスを理解する左端一致原則フィールド順序の影響複合インデックスは単一のインデック...

Unicode署名BOMによる事故原因の分析

ここでは、通常ヘッダーとフッターに対して行われるインクルード ファイルを使用している可能性があります...

HTML タグのカスタム属性に関する質問

以前の開発では、クラス、名前などの HTML のデフォルト属性を使用していました。 Huawei社の...

Linuxサーバーのディスク容量を拡張する方法

目次序文ステップ序文今日、es ログが記録されていないことに気付きました。filebeat、elas...

VmWareでcentos7をインストールするときにインターネットにアクセスできない問題の解決策

Centos7 のインストール時に VmWare がインターネットにアクセスできない場合はどうすれば...

JavaScript でロジック判定コードを最適化する方法

序文日常生活で使用する論理的判断文には、if...else...、switch...case...、...