Java EJB+;JSF(Primefaces)Maven->;在EJB中使用primefaces jar->;在Jboss、Eclipse上部署时出现异常

Java EJB+;JSF(Primefaces)Maven->;在EJB中使用primefaces jar->;在Jboss、Eclipse上部署时出现异常,java,maven,jboss,ejb,classloader,Java,Maven,Jboss,Ejb,Classloader,我需要创建querybuilder。我想在ejb站点上创建它。为此,我需要使用org.primefaces.model.SortOrder。我在EJBPOM中向primefaces添加了依赖项。在这之后,我得到了“java.lang.NoClassDefFoundError:org/primefaces/model/SortOrder”。这种依赖在战争中很有效。有什么想法吗 Pom战争构建部分 <build> <plugins> <plugin>

我需要创建querybuilder。我想在ejb站点上创建它。为此,我需要使用org.primefaces.model.SortOrder。我在EJBPOM中向primefaces添加了依赖项。在这之后,我得到了“java.lang.NoClassDefFoundError:org/primefaces/model/SortOrder”。这种依赖在战争中很有效。有什么想法吗

Pom战争构建部分

<build>
<plugins>
        <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-compiler-plugin</artifactId>
        <version>2.3.2</version>
        <configuration>
            <source>1.6</source>
            <target>1.6</target>
        </configuration>
    </plugin>

</plugins>
<finalName>JSF</finalName> 
</build>



EJB Pom


<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>test.com</groupId>
    <artifactId>EJB</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <packaging>ejb</packaging>

    <name>EJB</name>

    <properties>
        <endorsed.dir>${project.build.directory}/endorsed</endorsed.dir>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    </properties>

    <dependencies>
My dependencies with primefaces
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>2.3.2</version>
<configuration>
    <source>1.6</source>
    <target>1.6</target>
    <compilerArguments>
        <endorseddirs>${endorsed.dir}</endorseddirs>
    </compilerArguments>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-ejb-plugin</artifactId>
<version>2.3</version>
<configuration>
    <ejbVersion>3.1</ejbVersion>

    <archive>
        <manifestEntries>
            <Dependencies>org.slf4j</Dependencies>
        </manifestEntries>
    </archive>

</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<version>2.1</version>
<executions>
    <execution>
        <phase>validate</phase>
        <goals>
            <goal>copy</goal>
        </goals>
        <configuration>
            <outputDirectory>${endorsed.dir}</outputDirectory>
            <silent>true</silent>
            <artifactItems>
                <artifactItem>
                    <groupId>javax</groupId>
                    <artifactId>javaee-endorsed-api</artifactId>
                    <version>6.0</version>
                    <type>jar</type>
                </artifactItem>
            </artifactItems>
        </configuration>
    </execution>
</executions>
</plugin>
</plugins>
<pluginManagement>
<plugins>
<!--This plugin's configuration is used to store Eclipse m2e settings 
    only. It has no influence on the Maven build itself. -->
<plugin>
    <groupId>org.eclipse.m2e</groupId>
    <artifactId>lifecycle-mapping</artifactId>
    <version>1.0.0</version>
    <configuration>
        <lifecycleMappingMetadata>
            <pluginExecutions>
                <pluginExecution>
                    <pluginExecutionFilter>
                        <groupId>
                            org.apache.maven.plugins
                        </groupId>
                        <artifactId>
                            maven-dependency-plugin
                        </artifactId>
                        <versionRange>
                            [2.1,)
                        </versionRange>
                        <goals>
                            <goal>copy</goal>
                        </goals>
                    </pluginExecutionFilter>
                    <action>
                        <ignore></ignore>
                    </action>
                </pluginExecution>
            </pluginExecutions>
        </lifecycleMappingMetadata>
    </configuration>
</plugin>
</plugins>
</pluginManagement>
</build>

</project>


EAR is not a maven projekt


  <display-name>EAR</display-name>
  <module>
    <web>
      <web-uri>JSF.war</web-uri>
      <context-root>JSF</context-root>
    </web>
  </module>
  <module>
    <ejb>EJB.jar</ejb>
  </module>
</application>

org.apache.maven.plugins
maven编译器插件
2.3.2
1.6
1.6
JSF
EJB Pom
4.0.0
test.com
EJB
0.0.1-快照
ejb
EJB
${project.build.directory}/project
UTF-8
我与素面的依赖关系
org.apache.maven.plugins
maven编译器插件
2.3.2
1.6
1.6
${annowed.dir}
org.apache.maven.plugins
maven ejb插件
2.3
3.1
org.slf4j
org.apache.maven.plugins
maven依赖插件
2.1
验证
复制
${annowed.dir}
真的
爪哇
javaee认可的api
6
罐子
org.eclipse.m2e
生命周期映射
1.0.0
org.apache.maven.plugins
maven依赖插件
[2.1,)
复制
EAR不是一个专业项目
耳朵
JSF.war
JSF
EJB.jar

如果您需要同时使用ejb和war的应用程序,则必须创建一个包含库的ear包。如果您不想创建第三个pom(从您的两个孩子创建ear),则可以将此库移动到服务器