0

WAS8.5サーバーにインストールすることを目的としたMavenEJBプロジェクトがあります。すべてがEARまで正常にコンパイルされますが、アプリケーションをデプロイしようとすると、MDBマッピングが自動入力されません。jar(耳の内側)を抽出すると、...

--META-INF
----ejb-jar.xml
----ibm-ejb-jar-bnd.xml

では、なぜマッピングが取得されないのですか?プラグインに必要な構成はありますか?

       <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-ejb-plugin</artifactId>
            <version>2.2</version>
            <configuration>
                <ejbVersion>3.0</ejbVersion>
                <generateClient>true</generateClient>
                <archive>
                    <manifest>
                        <!-- generate manifest file properly -->
                        <addClasspath>true</addClasspath>
                    </manifest>
                </archive>
            </configuration>
        </plugin>

アップデート:

これは、ibm-web-bnd.xmlの問題のようです。私はそれが最終戦争にあることを確認しました。

質問の更新...

ejbプロジェクトのibm-ejb-bnd.xmlでこれらが正常に削除されていることがわかる限り、アクティベーション仕様を使用しています。耳の中に見えます。ただし、それでも機能しません。また、私は古いシステムで構築された耳を持っていますが、ここでは次のファイルに実際の違いは見つかりませんでした...

  • application.xml
  • ibm-web-bnd.xml
  • ibm-ejb-jar-bnd.xml

また、web.xmlファイルとMANIFESTファイルを一瞥しましたが、何も表示されません。

最後に、もう1つの奇妙な注意点は、Mavenで生成されたものをインストールしようとしたときです...

ここに画像の説明を入力してください

ただし、Ant(以前のビルド)をアップロードしようとすると、これらのオプションが表示されます

ここに画像の説明を入力してください

更新:コメントごと

これらのファイルをnewというフォルダーとoldというフォルダーに追加しました。

~/My Documents/tmp/file
$ ls old/
application.xml  ibm-ejb-jar-bnd.xml  ibm-web-ext.xml
ejb-jar.xml      ibm-web-bnd.xml

次に、2つのフォルダーを比較しました。結果は次のとおりです...

diff new/application.xml old/application.xml
5c5
<       <module id="Module_1352494482335">^M
---
>       <module id="Module_1276803943498">^M
4

2 に答える 2

0

私は自分の決意が非科学的だったので、たくさんのことをいじってみました。しかし、これは私のために働くように見えました....

<plugin>
            <artifactId>maven-antrun-plugin</artifactId>
            <executions>
                <execution>
                    <phase>verify</phase>
                    <configuration>
                        <tasks>
                            <property name="was6.home" value="C:\Program Files\IBM\WebSphere\AppServer" />
                            <property name="user.install.root" value="${was6.home}" />   
                            <path id="was.classpath">
                                <fileset dir="${was6.home}/lib">
                                    <include name="webservices.jar" />
                                    <include name="wsprofile.jar" />
                                    <include name="j2ee.jar" />
                                    <include name="ffdc.jar" />
                                    <include name="wsdl4j.jar" />
                                    <include name="bootstrap.jar" />
                                    <include name="commons-logging-api.jar" />
                                    <include name="commons-discovery.jar" />
                                    <include name="ras.jar" />
                                    <include name="wsexception.jar" />
                                    <include name="emf.jar" />
                                    <include name="classloader.jar" />
                                </fileset>
                                <fileset dir="${was6.home}/dev">
                                    <include name="was_public.jar" />
                                </fileset>
                                <fileset dir="${was6.home}/plugins">
                                    <include name="com.ibm.ws.runtime.jar" />
                                </fileset>
                                <fileset dir="${was6.home}/java/jre/lib">
                                    <include name="xml.jar" />
                                    <include name="ibmorb.jar" />
                                    <include name="ibmorbapi.jar" />
                                </fileset>
                            </path>
                            <path id="wsejbdeploy.path">
                                <path refid="maven.compile.classpath"/>
                                <fileset dir="${was6.home}/java/jre/lib">
                                    <include name="xml.jar" />
                                    <include name="ibmorb.jar" />
                                    <include name="ibmorbapi.jar" />
                                </fileset>
                            </path>
                            <taskdef name="wasEjbDeploy" classname="com.ibm.websphere.ant.tasks.WsEjbDeploy" 
                                 classpathref="was.classpath" />

                            <echo> 
                                Hello World: FYI
                                project.name=${project.name}
                                project.artifactId=${project.artifactId}
                                project.groupId=${project.groupId}
                                project.version=${project.version}
                                project.packaging=${project.packaging}
                                project.description=${project.description}
                            </echo>

                            <delete dir="${project.build.directory}/ejbdeply-working" />
                            <wasEjbDeploy 
                                inputJar="${project.build.directory}/${project.artifactId}-${project.version}.jar" 
                                outputJar="${project.build.directory}/${project.artifactId}-${project.version}-OUTPUT.jar" 
                                wasHome="${was6.home}" 
                                classpathref="wsejbdeploy.path"
                                workingDirectory="${project.build.directory}/ejbdeply-working"
                                keepGenerated="true"
                                failonerror="true"
                                trace="true" />

                            <move file="${project.build.directory}/${project.artifactId}-${version}.jar" 
                                tofile="${project.build.directory}/${project.artifactId}-${version}-INPUT.jar"  />

                            <move file="${project.build.directory}/${project.artifactId}-${version}-OUTPUT.jar" 
                               tofile="${project.build.directory}/${project.artifactId}-${version}.jar"  />

                            <echo> **** Task WsEJBDeploy Complete! **** </echo>
                        </tasks>
                    </configuration>
                    <goals>
                        <goal>run</goal>
                    </goals>
                </execution>
            </executions>
        </plugin>
于 2012-11-21T15:47:14.507 に答える
0

was6-maven-pluginの使用を試みることができます。

これはまったく同じことを行います(wsejbdeployなどのWebsphereカスタムタグを使用してantファイルを生成し、次にWebsphere ws_antユーティリティを使用して呼び出します)が、ほとんどの属性とパスを計算します。

直接またはwas6-maven-pluginを介して使用できるwsDefaultBindings(上記のリンクを参照)という名前のantタスクもあり、外部ファイルを使用してバインディングを作成するのに役立ちます。

http://pic.dhe.ibm.com/infocenter/wasinfo/v8r5/index.jsp?topic=%2Fcom.ibm.websphere.javadoc.doc%2Fweb%2Fapidocs%2Findex.html&com%2Fibm%2Fwebsphere%2Fant%2Ftasks %2FInstallApplication.html

よろしく

于 2013-10-23T10:51:18.773 に答える