0

jboss-app.xmlでカスタムを宣言しましたpom.xmlが、プラグインが内部の空のjboss-app.xmlファイルを に生成していますear/META-INF

この記事pom.xmlに基づいて、次の定義で作成しました。

<plugin>
    <artifactId>maven-ear-plugin</artifactId>
    <configuration>
        <data-sources>
            <data-source>${artifactId}/src/main/resources/mytest-ds.xml</data-source>
        </data-sources>
        <jboss>${artifactId}/src/main/resources/jboss-app.xml</jboss>
        <defaultLibBundleDir>lib</defaultLibBundleDir>
        <archive>
            <manifest>
                <addClasspath>true</addClasspath>
            </manifest>
        </archive>
        <modules>
            <ejbModule>
                <groupId>com.testproject</groupId>
                <artifactId>ejb-project</artifactId>
            </ejbModule>
        </modules>
    </configuration>
</plugin>

しかし、私は自分のカスタムを処理できませんjboss-app.xml。新しい空の記述子 (ejbs が定義されていない) が毎回生成されます。

4

3 に答える 3

2

をソース ツリーに含めるだけjboss-app.xmlで、Maven がそれを取り込みます。

maven-ear-plugin のプロジェクト ディレクトリ構造は次のようになります。

|-- pom.xml
`-- src
    `-- main
        `-- application
            `-- META-INF
                |-- application.xml
                `-- jboss-app.xml

次に、実行mvn packageして EAR を作成します。pom.xml のパッケージが「ear」であると仮定すると、結果の ear に jboss-app.xml がプルされます。

また、設定はタグ<datasources>...</datasources>内にある必要があると思います。<jboss>...</jboss>

参照: http://maven.40175.n5.nabble.com/Deployment-of-the-jboss-app-xml-file-td45009.html

于 2011-04-01T19:27:22.113 に答える
1

ドキュメントから、 jbossタグが の生成をトリガーするように見えますjboss-app.xml。このタグを省略して ? を生成するのはearどうですか?

于 2011-02-18T05:17:42.150 に答える
0

代わりに、ここでapplication.xml説明されているようにデータソースをプルすることもできます。しかし、本格的な Maven アーティファクトが必要なため、それは長い道のりです (おそらく JBoss 以外のアプリケーション サーバーの場合):<jarModule>

project/ds/pom.xml:

<artifactId>project-ds</artifactId>
<packaging>jar</packaging>

<name>My DataSource</name>

project/ds/src/main/resources/my-ds.xml:

<datasources>
    <local-tx-datasource>
    ...

project/ear/pom.xml(ドライバーも EAR にパッケージ化されていると仮定):

<dependencies>
    <dependency>
        <groupId>${project.groupId}</groupId>
        <artifactId>project-ds</artifactId>
        <version>${project.version}</version>
    </dependency>
    <dependency>
        <groupId>${project.groupId}</groupId>
        <artifactId>project-war</artifactId>
        <version>${project.version}</version>
        <type>war</type>
    </dependency>
    <dependency>
        <groupId>net.sourceforge.jtds</groupId>
        <artifactId>jtds</artifactId>
        <version>${jtds.driver.version}</version>
    </dependency>
</dependencies>
...
<plugin>
    <artifactId>maven-ear-plugin</artifactId>

    <configuration>
        <modules>
            <jarModule>
                <groupId>net.sourceforge.jtds</groupId>
                <artifactId>jtds</artifactId>
                <includeInApplicationXml>true</includeInApplicationXml>
            </jarModule>
            <jarModule>
                <groupId>${project.groupId}</groupId>
                <artifactId>project-ds</artifactId>
                <unpack>true</unpack>
                <uri>/</uri>
                <bundleFileName>my-ds.xml</bundleFileName>
                <includeInApplicationXml>true</includeInApplicationXml>
            </jarModule>
            <webModule>
                <groupId>${project.groupId}</groupId>
                <artifactId>project-war</artifactId>
                <contextRoot>${context.path}</contextRoot>
            </webModule>
        </modules>
    </configuration>
</plugin>

生成しMETA-INF/application.xmlます:

<application>
  <display-name>project-ear</display-name>
  <description>...</description>
  <module>
    <java>jtds-1.2.4.jar</java>
  </module>
  <module>
    <java>my-ds.xml</java>
  </module>
  <module>
    <web>
      <web-uri>project-war-1.0.0.war</web-uri>
      <context-root>/</context-root>
    </web>
  </module>
</application>
于 2012-12-20T16:43:18.250 に答える