Deployment 如何使用jar依赖在Glassfish中部署EJB模块
我有一个maven EJB模块,它依赖于两个SE模块,一个是域实体,另一个是持久性实体Deployment 如何使用jar依赖在Glassfish中部署EJB模块,deployment,jar,dependencies,ejb,glassfish-4,Deployment,Jar,Dependencies,Ejb,Glassfish 4,我有一个maven EJB模块,它依赖于两个SE模块,一个是域实体,另一个是持久性实体 <dependencies> <dependency> <groupId>com.mycompany.modules</groupId> <artifactId>entities</artifactId> <version>1.0-SNAPSHOT</version
<dependencies>
<dependency>
<groupId>com.mycompany.modules</groupId>
<artifactId>entities</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>com.mycompany.modules</groupId>
<artifactId>persistent-entities</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
也许您已经自己解决了,但是您的
EJB.jar
没有(也永远不会)包含您的依赖项
因此,您有两种选择:使用
EJB
模块和实体/持久实体模块构建EAR
,或者使依赖项直接对容器可用。我更喜欢第一种方法。也许你自己已经知道了,但是你的EJB.jar
没有(也永远不会)包含依赖项。因此,您有两种选择:使用EJB
模块和您的实体/持久实体模块构建EAR,或者使您的依赖项直接对容器可用。我更喜欢第一种方法。@aribeiro,你的评论对我来说更像是一个答案,而不仅仅是一个评论。我会投票的,谢谢@aribeiro,这很有效
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.1</version>
<configuration>
<source>1.8</source>
<target>1.8</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>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<version>2.6</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>7.0</version>
<type>jar</type>
</artifactItem>
</artifactItems>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>