2011-11-09 17 views
0

maven-embedded-glassfish-pluginを使用するようにpomファイルを構成しました。実際これはプロジェクトを生成するジャージーウェブアプリケーションの成果物です。 POMのプラグインセクションは以下の通りである: -maven-embedded-glassfish-pluginがClassNotFoundExceptionをスローする

org.glassfish 達人 - 組み込みのGlassFish、プラグイン $ {glassfish.version} 組み込みのGlassFish /ユーザ/ vdevigere /プロジェクト/ ShoppingSite/shoppingsite 試験真 com.sun.jerseyジャージーサーブレット $ {jersey.version} 012の.war -ws /標的/ $ {} project.build.finalName のjavax.servlet のjavax.servlet-API 3.0.1

私は組み込みのGlassFish MVNを実行します。実行は、私がjavax.ejb.Statelessが見つからなかったことを私に知らせるスタックトレースを取得します。スタックトレースはエヴェーレ

を下回っている:例外クラスcom.sun.enterprise.web.WebApplication開始メソッド のjava.lang.Exception起動中:java.lang.IllegalStateException:ContainerBase.addChild:開始:org.apache.catalinaを.LifecycleException:org.apache.catalina.LifecycleException:java.lang.NoClassDefFoundError:javax/ejb/Stateless com.sun.enterprise.web.WebApplication.start(WebApplication.java:138) at org.glassfish.internal。 (ApplicationInfo.java:ApplicationInfo.java:) 294) com.sun.enterprise.v3.server.ApplicationLifecycle.deploy(App (ApplicationLifecycle.java:240) com.sun.enterprise.v3.admin.CommandRunnerImpl $ 1.execute(CommandRunnerImpl.java:355) com.sun.enterprise.v3.admin.CommandRunnerImpl.doCommand(CommandRunnerImpl.java:370) at com.sun.enterprise .v3.admin.CommandRunnerImpl.doCommand(CommandRunnerImpl.java:1064) com.sun.enterprise.v3.admin.CommandRunnerImpl.access $ 1200(CommandRunnerImpl.java:96) (com.sun.enterprise.v3.admin)。 CommandRunnerImpl $ ExecutionContext.execute(CommandRunnerImpl.java:1244) at com.sun.enterprise.v3.admin.CommandRunnerImpl $ ExecutionContext.execute(CommandRun nerImpl.java:1232) (com.sun.enterprise.admin.cli.embeddable.DeployerImpl.deploy(DeployerImpl.java:129) 、com.sun.enterprise.admin.cli.embeddable.DeployerImpl.deploy(DeployerImpl。ジャワ:sun.reflect.NativeMethodAccessorImpl.invokeでsun.reflect.NativeMethodAccessorImpl.invoke0(ネイティブメソッド) でorg.glassfish.maven.PluginUtil.doDeploy(PluginUtil.java:106) における105) (NativeMethodAccessorImpl.java:39 )sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)org.glassfish.maven.AbstractDeployMojo.doDeployでjava.lang.reflect.Method.invoke(Method.java:597) で(AbstractDeployMojo.javaで :239) at org.glassfish.maven.RunMojo.execute(RunMojo.java:68) at org.apache.maven.plugin.DefaultPluginManager.executeMojo(DefaultPluginManager.java:490) at org.apache.maven.lifecycle。DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:694)org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalでorg.apache.maven.lifecycle.DefaultLifecycleExecutor.executeStandaloneGoal(DefaultLifecycleExecutor.java:569) で (DefaultLifecycleExecutor.java:539) org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegmentsでorg.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalAndHandleFailures(DefaultLifecycleExecutor.java:387) (DefaultLifecycleExecutor.java:348)org.apache.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。 java.lang.reflect.Method.invokeでsun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) でsun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) でinvoke0(ネイティブメソッド) (方法.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-埋め込まれたウェブ、私はこれが動作しない理由で私の知恵の最後にしています $ {} glassfish.version テスト

。私は実際のglassfishアプリケーションサーバーにアプリケーションを展開することができます。

答えて

1

これを修正するには、のpom.xmlでのmaven-組み込みのGlassFish - プラグインの依存関係の下で依存関係のリストに次の追加の依存関係を追加する必要があります。

<dependency> 
     <groupId>org.glassfish</groupId> 
     <artifactId>javax.ejb</artifactId> 
     <version>${glassfish.version}</version> 
    </dependency> 
関連する問題