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

推薦する

無効な Nginx クロスドメイン設定 Access-Control-Allow-Origin の解決策

nginx バージョン 1.11.3次の構成を使用すると、検証は無効になり、クロスドメインの問題が依...

grep を使用して MySQL エラー ログ情報を取得する方法の詳細な説明

MySQL のメンテナンスを容易にするために、エラー情報を収集するためのインターフェースを提供するス...

MySQL データベース インデックスの面接の質問 (基本的なプログラマー スキル)

目次導入インデックスの原則1. データページ2. ページディレクトリ3. インデックス原則分析要約す...

MySQL における主キーが 0 であることと主キーの自己選択制約の関係についての詳しい説明 (詳細)

序文この記事は主にMySQLの主キー0と主キー自己排除制約の関係を紹介し、皆さんの参考と学習のために...

パスワードログインなしのLinux構成スタンドアロンおよびフルディストリビューションの詳細なチュートリアル

目次1: 単一マシンのパスワードフリーログイン構成1. 仮想マシンのホスト名を設定する2. 仮想マシ...

CSS3+ベジェ曲線でスケーラブルな入力検索ボックス効果を実現

では、早速レンダリングを見てみましょう。 コア コードはtransition: cubic-bezi...

MySQLのマスタースレーブレプリケーションと読み取り書き込み分離を理解するための記事

目次導入1. MySQL マスタースレーブレプリケーション1. MySQLレプリケーションタイプ2....

ffmpeg 中国語パラメータの説明と使用例

1. ffmpeg がビデオ ファイルをプッシュする場合、オーディオとビデオのエンコード形式は H2...

DockerにRabbitMQをインストールする詳細な手順

目次1. 鏡を見つける2. RabbitMQイメージをダウンロードする3. RabbitMQコンテナ...

JS 面接の質問: forEach はループから抜け出すことができますか?

この質問をされたとき、私は無知で頭が真っ白になりました。もちろん、正しく答えられませんでした。私はず...

ウェブページを作成する際に注意すべき点

--ホームページのバックアップ1.txtテキスト2. 画像をスキャンする3. PSDデザイン原画(A...

Nginxの現在の制限設定の詳細な説明

この記事では、最も単純なものから最も複雑なものまで、Nginx の現在の制限構成を例を使って説明しま...

Navicatを使ってMySQLを操作する方法

目次序文: 1. Navicatの紹介2. シンプルなチュートリアルの共有接続管理ライブラリテーブル...

ブラウザのCSS、JavaScript、背景画像のキャッシュをクリアする簡単な方法

実際のプロジェクト開発プロセスでは、ページがサーバーにアップロードされます。サーバーへの負荷を軽減し...

モバイルフロントエンド適応ソリューション(概要)

ネットで検索してみたところ、多くの面接でモバイル適応方法について質問されることが分かりました。最近い...