問題タブ [maven-glassfish-plugin]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
3600 参照

deployment - Maven-glassfish-plugin:デプロイターゲットを指定する方法は?

Maven3.0.4とmaven-glassfish-plugin2.1(http://maven-glassfish-plugin.java.net/)およびGlassfish2.1.1を使用しています。

関連するPOM.XMLフラグメント:

問題は、私がデプロイしているGlassfishサーバーには、開発者ごとに1つのスタンドアロンインスタンスが構成されており、実行中mvn glassfish:deployの原因は次のとおりです。

--target server実行したコマンドに注意してください。

どのインスタンス(つまりtarget)にデプロイするかをPOMで指定するにはどうすればよいですか?

0 投票する
2 に答える
4654 参照

jakarta-ee - 組み込みEJBコンテナのテストデータソースを定義する方法

組み込みEJBコンテナを使用してEJBをテストしようとしています。本番環境では、アプリケーションサーバーで構成されたJTAデータソースに依存しています。ただし、テスト中に、別のDB(メモリ内のDerby)に接続したいと思います。

問題は、本番環境のpersistence.xml(src / main / resources / META-INF)で定義されているJTAデータソースをメモリ内のderbyDBへの接続でオーバーライドするようにEJBコンテナに指示する方法がわからないことです。JTAデータソースは、次のようにpersistence.xmlファイルで定義されます。

試行1:テストpersistence.xmlを使用する

以下を定義するテストpersistence.xmlファイル(src / test / resources / META-INF内)を作成してみました。

ただし、テスト対象のモジュールを使用するためにEJBコンテナを指定すると、これは重要ではありません。

コンテナは、テストファイルの代わりにメインのpersistence.xmlファイルを使用するだけです。

試行2:メインクラスとテストクラスを単一の分解されたモジュールにマージする

このアプローチを機能させるために私が見ることができる唯一の方法は、ここで説明するアプローチを使用することです-テスト対象のモジュールのクラスを別の場所(たとえば、target / ejb-testing-classes)にコピーしてから、testpersistence.xmlをコピーしますファイルを上に置き、次の新しい場所をEJBコンテナに指定します。

しかし、これは不必要に不器用に思えます。マージする前にjarを分解する必要があるため、事前にパッケージ化されたモジュール(つまり依存関係)をコンテナーにデプロイしようとすると、将来的にも問題になる可能性があります。

私の願い:EJBコンテナのデータソースオーバーライドプロパティ

EJBコンテナに渡すことができる追加のプロパティがあるかもしれないと思いましたが、これまでのところ、openEJBまたはwebsphereに適したプロパティしか見つけることができません。組み込みGlassfishを使用して、組み込みEJBコンテナを提供しています。これがターゲットプラットフォームです。(私は今、glassfishプロパティを見つけました-以下のアップデート#1を参照してください)

確かに、組み込みEJBコンテナと本番DBとは異なるデータソースを使用してEJBをテストしようとしたすべての人が、この問題に遭遇しました。この男でさえ、この時点で諦め、デフォルトの組み込みDBを使用しましたが、これは私にとってオプションではありません。

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

更新1: Glassfish EJBコンテナが受け入れるプロパティのリストを見つけました。最初は、次のプロパティを使用できるようです。

domain.xmlでデータソースを定義し、コンテナーをそのデータソースにポイントします。ただし、ソースコードによると、installation.rootプロパティも設定されていない限り、このプロパティは無視されます。つまり、テストを実行するためだけに、既存のGlassfishのインストールが必要になります。これは、私のMavenプロジェクトの移植性を容認できないほど低下させます。:(

更新2:この問題に対してJIRAの問題を作成し、JTAデータソースの構成を可能にするGlassfishEJBコンテナーにプロパティを導入することをお勧めします。

0 投票する
0 に答える
673 参照

logging - maven-embedded-glassfish-plugin を使用して組み込み Glassfish に logging.properties を指定する

埋め込み Glassfish の Maven 構成を含むプロジェクト テンプレートを使用します (maven-embedded-glassfish-plugin を使用)。ロギングを有効にする必要がありますが、Glassfish でどのロギング エンジンが有効になっているかさえわかりません (テンプレートを作成していないため)。

テンプレートは依存関係としてslf4j-log4j12を使用しますが、slf4j と java.util.logging のどちらが実際のログを記録するかはわかりません。logging.propertiesしたがって、1と 1の 2 つのログ ファイルを作成log4j.propertiesし、両方をsrc/main/resourcesとに配置しました/src/main/resources/META-INFが、どちらも機能していないようです。

Maven Glassfish システム プロパティ (log4j 用)に追加java.util.logging.config.file=logging.propertiesしましたが、これもうまくいきませんでした。プロパティファイルがJARファイルにあることを確認しました。

ロギングを担当するバックエンドを特定するにはどうすればよいですか?

Maven 埋め込み Glassfish プラグインを使用して、埋め込み Glassfish のロギング構成を指定するにはどうすればよいですか?

現在、デフォルト出力でINFOレベルのログ出力を取得しています。これがデフォルト設定だと思います。

0 投票する
5 に答える
2505 参照

spring - Java EE Web アプリケーションの新しいバージョンをデプロイするときの java.lang.VerifyError

現在の Web プロジェクトの一部のコードを変更して、Spring トランザクション管理を追加しました。Eclipse にデプロイしたり、ワークスペースで「Maven クリーン」および「Maven インストール」を呼び出したりしても、すべて正常に動作します。ただし、継続的インテグレーション サーバー (jenkins) が離れたサーバーに再デプロイしようとすると、java.lang.VerifyError が発生して失敗します。

私はjdk1.7(サーバーをチェックしましたが、環境変数にある適切なJDKです)、maven、およびGlassfishを使用しています。ここに私のpom.xmlがあります:

この投稿に示されているように、maven-surefire-plugin を追加しようとしました: How do I get unit test to run in Java 7: java.lang.VerifyError: Expecting a stackmap frame at branch target but without success... As I'私はMavenの専門家ではありません.私の設定で何が間違っているのかを見つけるのは非常に難しいので、どんな助けでも大歓迎です! 前もって感謝します

0 投票する
1 に答える
1102 参照

maven - Liquibase を使用して組み込み Glassfish インスタンスのデータベースを更新する方法

私は、データベース管理を Liquibase に変換中です。こちらは順調に進んでいます。

次のステップとして、共通の環境、継続的インテグレーション スタイルに展開する前に、将来のすべての変更がテストされることを保証したいと思います。次の設定を使用してこれを実行しようとしています。

  • EJB Web サービスを含む ear を構築する
  • maven-embedded-glassfish-plugin統合前のテスト中にGlassfish 3の埋め込みインスタンスを起動するために 使用するmaven ohase
    • 開始目標の一部としてデータソースを作成する
    • 展開ゴール中に耳を展開する
  • まだ統合テスト前ですが、同じデータベース URL で liquibase:update を実行します。この場合、H2 ファイル データベース
  • 次に、デプロイされたアプリケーションで SoapUI テストを実行します

しかし、ここまで来ると、アプリケーションはデータベース内のデータを見つけることができません。問題は、セットアップで何かを見逃したのか、それとも意図した目標を整理するためのより良い方法があるのか​​ということです。

pom.xml、埋め込まれたGlassfish

pom.xml、リキベース

ターゲット テーブルにデータを挿入する変更ログに 1 つの変更セットがあります。

  1. 適切なユーザーを設定していますか?
  2. Glassfish と同じプロセスで Liquibase を実行し、mem:代わりにデータベースを使用する方法はありますか?

敬具、クリスチャン

0 投票する
1 に答える
939 参照

maven - Windows IDE から Linux サーバーへの maven-glassfish-plugin リモートデプロイ

maven-glassfish-plugin 2.1 を使用してリモート Linux サーバーにデプロイしたいと考えています。

しかし、プラグインは常にC:\...\asadmin.bat. エラーメッセージは次のとおりです。

[ERROR] Failed to execute goal org.glassfish.maven.plugin:maven-glassfish-plugin:2.1:deploy (default-cli) on project LottoEarth: Deployment of D:\workspaces\eclipse-kepler\Project\target\myProject-0.0.1-SNAPSHOT.war failed. IOException: Cannot run program "D:\opt\glassfish3\glassfish\bin\asadmin.bat": CreateProcess error=2, Das System kann die angegebene Datei nicht finden -> [Help 1]

プロファイルで OS を宣言しようとしましたが、うまくいきませんでした。