2011-11-09 37 views
0

我已經配置我的POM文件使用Maven的嵌入式的GlassFish的插件。事實上,這是生成該項目的球衣網絡工件。聚甲醛的插件部分是如下: -Maven的嵌入與GlassFish插件拋出一個ClassNotFoundException

org.glassfish 行家-嵌入與GlassFish插件 $ {glassfish.version} 嵌入的glassfish /用戶/ vdevigere /項目/ ShoppingSite/shoppingsite -ws /目標/ $ {} project.build.finalName的.war 測試 真 com.sun.jersey 新澤西州的servlet $ {} jersey.version 012 的javax.servlet 的javax.servlet-API 3.0.1

當我做一個MVN嵌入式GlassFish中:運行我得到一個堆棧跟蹤通知我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) 在org.glassfish.internal.data.ApplicationInfo.start(ApplicationInfo.java: 294) at com.sun.enterprise.v3.server.ApplicationLifecycle.deploy(App lication_lifecycle.java:462) at com.sun.enterprise.v3.server.ApplicationLifecycle.deploy(ApplicationLifecycle.java:240) at org.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) at 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) 在com.sun.enterprise.v3.admin.CommandRunnerImpl $ ExecutionContext.execute(CommandRun nerImpl.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) 在org.glassfish.maven.PluginUtil.doDeploy(PluginUtil.java:106) 在sun.reflect.NativeMethodAccessorImpl.invoke0(本機方法) 在sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39 ) 在sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) 在java.lang.reflect.Method.invoke(Method.java:597) 在org.glassfish.maven.AbstractDeployMojo.doDeploy(AbstractDeployMojo.java :239) 在org.glassfish.maven.RunMojo.execute(RunMojo.java:68) 在org.apache.maven.plugin.DefaultPluginManager.executeMojo(DefaultPluginManager.java:490) 在org.apache.maven.lifecycle。DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:694) 在org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeStandaloneGoal(DefaultLifecycleExecutor.java:569) 在org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoal(DefaultLifecycleExecutor.java:539) 在org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalAndHandleFailures(DefaultLifecycleExecutor.java:387) 在org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegments(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)(mavencli.java:362) at org.apache.maven.cli.compat.CompatibleMain.main(CompatibleMain.java:60) at sun.reflect.NativeMethodAccessorImpl。 invoke0(本機方法) 在sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) 在sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) 在java.lang.reflect.Method.invoke(方法.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> 
相關問題