当我使用我的ejb和依赖项构建一个胖jar时,所有依赖的libs / jar都被解压缩,当部署到wildfly时,执行jodi-registration,并且
等条目 java:global/template-service-1.0.0-SNAPSHOT-jar-with-dependencies/ReceptionService
在控制台上报告。然后我可以向我的war-project清单添加模块依赖项并使用ejb。
当我使用one-jar插件构建完全相同的ejb时,依赖库未解包,并且不执行jndi-registration。因此,无法访问ejb。
从我可以看出,jar文件在其他方面是相似的,并且看起来wildfly表现不同,这取决于包含的jar是否已解压缩。是这样,为什么?或者,一个jar插件是否会创建一个与我未想到的不同的胖罐?
下面列出了pom.xml,我使用的one-jar配置已注释掉:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-assembly-plugin</artifactId>
<version>2.4.1</version>
<configuration>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
</configuration>
<executions>
<execution>
<id>assemble-all</id>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
</execution>
</executions>
</plugin>
<!-- Includes the runtime dependencies -->
<!--
<plugin>
<groupId>org.dstovall</groupId>
<artifactId>onejar-maven-plugin</artifactId>
<version>1.4.4</version>
<executions>
<execution>
<configuration>
<attachToBuild>true</attachToBuild>
</configuration>
<goals>
<goal>one-jar</goal>
</goals>
</execution>
</executions>
</plugin>
-->