0

maven-embedded-glassfish-pluginを使用するようにpomファイルを構成しました。実際、これはプロジェクトを生成するjersey-webappアーティファクトです。pomのプラグインセクションは次のとおりです:-

org.glassfish maven-embedded-glassfish-plugin $ {glassfish.version} Embedded-glassfish /Users/vdevigere/Projects/ShoppingSite/shoppingsite-ws/target/${project.build.finalName}.war test true 8080 com.sun .jersey jersey-servlet $ {jersey.version} javax.servlet javax.servlet-api 3.0.1

mvn Embedded-glassfish:runを実行すると、javax.ejb.Statelessが見つからなかったことを通知するスタックトレースが表示されます。スタックトレースは以下のとおりです

EVERE:クラスcom.sun.enterprise.web.WebApplication開始メソッドの呼び出し中に例外が発生しましたjava.lang.Exception:java.lang.IllegalStateException:ContainerBase.addChild:start:org.apache.catalina.LifecycleException:org.apache.catalina.LifecycleException :java.lang.NoClassDefFoundError:javax / ejb / Stateless at com.sun.enterprise.web.WebApplication.start(WebApplication.java:138)at org.glassfish.internal.data.EngineRef.start(EngineRef.java:130) org.glassfish.internal.data.ModuleInfo.start(ModuleInfo.java:269)at org.glassfish.internal.data.ApplicationInfo.start(ApplicationInfo.java:294)at com.sun.enterprise.v3.server.ApplicationLifecycle .deploy(ApplicationLifecycle.java:462)at com.sun.enterprise.v3.server.ApplicationLifecycle.deploy(ApplicationLifecycle.java:240)atorg.glassfish.deployment.admin.DeployCommand。execute(DeployCommand.java:382)at com.sun.enterprise.v3.admin.CommandRunnerImpl $ 1.execute(CommandRunnerImpl.java:355)at com.sun.enterprise.v3.admin.CommandRunnerImpl.doCommand(CommandRunnerImpl.java:370 )com.sun.enterprise.v3.admin.CommandRunnerImpl.doCommand(CommandRunnerImpl.java:1064)at com.sun.enterprise.v3.admin.CommandRunnerImpl.access $ 1200(CommandRunnerImpl.java:96)at com.sun.enterprise .v3.admin.CommandRunnerImpl $ ExecutionContext.execute(CommandRunnerImpl.java:1244)at com.sun.enterprise.v3.admin.CommandRunnerImpl $ ExecutionContext.execute(CommandRunnerImpl.java:1232)at com.sun.enterprise.admin.cli .embeddable.DeployerImpl.deploy(DeployerImpl.java:129)at com.sun.enterprise.admin.cli.embeddable.DeployerImpl.deploy(DeployerImpl.java:105)at org.glassfish.maven.PluginUtil.doDeploy(PluginUtil.java :106)at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)at java.lang.reflect .Method.invoke(Method.java:597)at org.glassfish.maven.AbstractDeployMojo.doDeploy(AbstractDeployMojo.java:239)at org.glassfish.maven.RunMojo.execute(RunMojo.java:68)atorg.apache。 maven.plugin.DefaultPluginManager.executeMojo(DefaultPluginManager.java:490)at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:694)at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeStandaloneGoal(DefaultLifecycleExecut 569)org.apache.maven.lifecycle.DefaultLifecycleExecutorで。executeGoal(DefaultLifecycleExecutor.java:539)at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalAndHandleFailures(DefaultLifecycleExecutor.java:387)at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegments(DefaultLifecycleExecutor .maven.lifecycle.DefaultLifecycleExecutor.execute(DefaultLifecycleExecutor.java:180)at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:328)at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:138)at org.apache.maven.cli.MavenCli.main(MavenCli.java:362)at org.apache.maven.cli.compat.CompatibleMain.main(CompatibleMain.java:60)at sun.reflect.NativeMethodAccessorImpl.invoke0(ネイティブメソッド)at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)atsun.reflect。DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)at java.lang.reflect.Method.invoke(Method.java:597)at org.codehaus.classworlds.Launcher.launchEnhanced(Launcher.java:315)at org.codehaus.classworlds .Launcher.launch(Launcher.java:255)at org.codehaus.classworlds.Launcher.mainWithExitCode(Launcher.java:430)at org.codehaus.classworlds.Launcher.main(Launcher.java:375)

javax.ejb.Statelessが、テストスコープの依存関係として含まれているglassfish-embedded-webの一部であることを確認しました。

org.glassfish.extras glassfish-embedded-web${glassfish.version}テスト

私は、なぜこれが機能しないのかについて、私の知恵を絞っています。アプリケーションを実際のGlassfishアプリサーバーにデプロイできます。

4

1 に答える 1

1

これを修正するには、pom.xmlのmaven-embedded-glassfish-pluginの依存関係の下にある依存関係リストに次の追加の依存関係を追加する必要があります。

    <dependency>
       <groupId>org.glassfish</groupId>
       <artifactId>javax.ejb</artifactId>
       <version>${glassfish.version}</version>
    </dependency>
于 2012-05-22T05:51:29.507 に答える