maven-embedded-glassfish-plugin создает исключение ClassNotFoundException - PullRequest
0 голосов
/ 09 ноября 2011

Я настроил мой pom-файл для использования maven-embedded-glassfish-plugin.Фактически это артефакт Джерси-Веб-приложения, который генерирует проект.Раздел плагина pom выглядит следующим образом: -

org.glassfish maven-embedded-glassfish-plugin $ {glassfish.version} embedded-glassfish / Users / vdevigere / Projects / ShoppingSite / shoppingsite-ws / target/$ndomproject.build.finalName‹.war test true 8080 com.sun.jersey Джерси-сервлет $ {jersey.version} javax.servlet javax.servlet-api 3.0.1

Когда я делаю мвнEmbedded-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 / без сохранения состояния на com.sun.enterprise.web.WebApplication.start (WebApplication.java:138) на org.glassfish.internal..EngineRef.start (EngineRef.java:130) в org.glassfish.internal.data.ModuleInfo.start (ModuleInfo.java:269) в org.glassfish.internal.data.ApplicationInfo.start (ApplicationInfo.java:294) вcom.sun.enterprise.v3.server.ApplicationLifecycle.deploy (ApplicationLifecycle.java:462) в com.sun.enterprise.v3.server.ApplicationLifecycle.deploy (ApplicationLifecycle.java:240) в org.glassfish.deployment.admin.DeployCommand.execute (DeployCommand.java:382) на com.sun.enterprise.v3.admin.CommandRunnerImpl $ 1.execute (CommandRunnerImpl.java:355) на com.sun.enterprise.v3.admin.CommandRunnerImpl.doCommand (CommandRunnerImpl.java:370) на com.sun.enterprise.v3.admin.CommandRunnerImpl.doCommand (CommandRunnerImpl.java:1064) на com.sun.enterprise.v3.admin.mpac.uncun$ 1200 (CommandRunnerImpl.java:96) в com.sun.enterprise.v3.admin.CommandRunnerImpl $ ExecutionContext.execute (CommandRunnerImpl.java:1244) в com.sun.enterprise.v3.admin.CommandRunnerImpl $ ExecutionContel.Java: 1232) на com.sun.enterprise.admin.cli.embeddable.DeployerImpl.deploy (DeployerImpl.java:129) на 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 (NativeMethodAccessor.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 (DefaultPluginManache.jg:4:4:4).maven.lifecycle.DefaultLifecycleExecutor.executeGoals (DefaultLifecycleExecutor.java:694) в org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeStandaloneGoal (DefaultLifecycleExecutor.java:569) в org.apache.efj.ExlayLifeife.cycle: 539) в org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalAndHandleFailures (DefaultLifecycleExecutor.java:387) в org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegments (DefaultLifecycleEx348).в org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute (DefaultLifecycleExecutor.java:180) в org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:328) в org.apache.maven.DefaultMaven.execute (DefaultMaven.java: 138) в org.apache.maven.cli.MavenCli.main (MavenCli.java:362) в org.apache.maven.cli.compat.CompatibleMain.main (CompatibleMain.java:60) в sun.reflect.NativeMethodAccessorImpl.invoke0 (родной метод) в sun.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:39) в sun.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:25.kere.java.lan.ref.j.j.ref.j.j.ref.j.j.ref.j.j.ref.j.j.ref.j.j.ref.j.j.ref.j.j.v.d.java.jpv.jpg) в j.j597) в org.codehaus.classworlds.Launcher.launchEnhanced (Launcher.java:315) в org.codehaus.classworlds.Launcher.launch (Launcher.java:255) в org.codehaus.classworlds.Launcher.mainWithExitjava (: 430) at org.codehaus.classworlds.Launcher.main (Launcher.java:375)

Я подтвердил, что javax.ejb.Stateless является частью Glassfish-Embedded-Webкоторая включена в качестве зависимости области действия теста.

org.glassfish.extras glassfish-embedded-web $ {glassfish.version} test

Я не знаю, почему это не работает,Я могу развернуть приложение на реальном сервере приложений Glassfish.

1 Ответ

1 голос
/ 22 мая 2012

Чтобы исправить это, вам нужно добавить следующую дополнительную зависимость в список зависимостей под зависимостями maven-embedded-glassfish-plugin в файле pom.xml:

    <dependency>
       <groupId>org.glassfish</groupId>
       <artifactId>javax.ejb</artifactId>
       <version>${glassfish.version}</version>
    </dependency>
...