1

ホット再デプロイをサポートしていない Maven GlassFish プラグインの代わりに、Maven Cargo プラグインを使用しようとしています。Cargo は、GlassFish ローカルの既存のインストールの目標の開始/実行でハングし、それを殺すまで最大 100% の CPU を消費します! プレーンテキストのパスワードを試してから、パスワードファイルを作成しましたが、同じ結果でした。オンライン検索では、さまざまな種類の Cargo-GlassFish 構成の投稿が見つかりました。それらのほとんどすべてが、私が使用しているバージョンよりも古く、どちらも役に立ちませんでした。Maven プラグイン構成とデバッグ ログが添付されます。どんな助けでも大歓迎です。

Environment: Mac OS X Mavericks, Oracle JDK 1.7.0_45, GlassFish-4.0-b89, Maven 3.1.1, cargo-maven2-plugin 1.4.5

Maven プラグイン構成

<plugin>
  <groupId>org.codehaus.cargo</groupId>
  <artifactId>cargo-maven2-plugin</artifactId>
  <version>1.4.5</version>
  <configuration>
    <container>
      <containerId>glassfish4x</containerId>
      <type>installed</type>
      <output>${glassfish.installDirectory}/glassfish/domains/${glassfish.domainName}/logs/server.log</output>
      <!-- Fail if not started/stopped within 30 sec -->
      <timeout>30000</timeout>
    </container>
    <configuration>
      <type>existing</type>
      <home>${glassfish.installDirectory}/glassfish</home>
      <properties>
        <cargo.glassfish.domain.name>${glassfish.domainName}</cargo.glassfish.domain.name>
        <cargo.remote.username>${glassfish.adminUser}</cargo.remote.username>
        <cargo.remote.passwordFile>${glassfish.installDirectory}/admin.password</cargo.remote.passwordFile>
        <!-- Maven sets java.home property to JRE but we want JDK -->
      </properties>
    </configuration>
    <deployables>
      <deployable>
        <groupId>${project.groupId}</groupId>
        <artifactId>${project.artifactId}</artifactId>
        <type>${project.packaging}</type>
        <properties>
          <context>/${project.artifactId}</context>
        </properties>
      </deployable>
    </deployables>
  </configuration>
</plugin>

デバッグログ

[DEBUG] [2.ContainerStartMojo] Resolved artifact and dependencies:file:/Users/Abhijit/Repositories/maven/org/codehaus/cargo/cargo-core-container-glassfish/1.4.5/cargo-core-container-glassfish-1.4.5.jar]
[INFO] [2.ContainerStartMojo] Resolved container artifact org.codehaus.cargo:cargo-core-container-glassfish:jar:1.4.5 for container glassfish4x
[DEBUG] Scheduling deployable for deployment: [groupId [name.abhijitsarkar.learning.webservices.jaxws.security], artifactId [calculator-enc], type [war], location [null], pingURL [null]]
[DEBUG] Initial deployable values: groupId = [name.abhijitsarkar.learning.webservices.jaxws.security], artifactId = [calculator-enc], type = [war], location = [null]
[DEBUG] Searching for an artifact that matches [name.abhijitsarkar.learning.webservices.jaxws.security:calculator-enc:war:null]...
[DEBUG] Checking artifact [name.abhijitsarkar.learning.webservices.jaxws.security:calculator-enc:war:null]...
[DEBUG] Computed deployable values: groupId = [name.abhijitsarkar.learning.webservices.jaxws.security], artifactId = [calculator-enc], classifier = [null], type = [war], location = [/Users/Abhijit/Repositories/git/java-ee/jaxws-security/calculator-enc/target/calculator-enc-0.0.1-SNAPSHOT.war]
[DEBUG] Setting deployable property [context]:[/calculator-enc] for [/Users/Abhijit/Repositories/git/java-ee/jaxws-security/calculator-enc/target/calculator-enc-0.0.1-SNAPSHOT.war]
[DEBUG] Invoking setter method public synchronized void org.codehaus.cargo.container.deployable.WAR.setContext(java.lang.String) for deployable org.codehaus.cargo.container.deployable.WAR[calculator-enc-0.0.1-SNAPSHOT.war] with argument /calculator-enc
[DEBUG] Setting container timeout to [30000]
4

1 に答える 1

3

この問題に遭遇する可能性のある他の人にとっては、Cargo src コードを介して問題を解決するのに 2 日間のデバッグが必要でした。2 つの<home>場所は、実際には両方とも必要です。下のもの<container>はGlassFishの外部インストールディレクトリ(別のglassfishディレクトリを内部に含む)を<configuration>指し、下のものはglassfish/domainsディレクトリを指す必要があります。命名規則がひどいと誰かが彼らに言ったことがありますか? '<home>' <domainsDir>後で、またはそれが読むものを実際に意味するものと呼んでみませんか?

于 2013-11-06T02:55:41.660 に答える