我的EJB项目具有下面的结构,并使用maven进行打包。它将ejb打包在core.jar文件中。通过将所有接口和POJO移动到一个打包为jar (core-common.jar)的单独项目中,可以实现远程查找,然后将其作为依赖项添加到web模块,使其能够用于远程EJB调用。
├── core.jar
├── app_war
│ ├── META-INF
│ └── WEB-INF
├── lib
└──core-common.jar当我部署我的应用程序时,当core试图实例化任何POJO并在core-common.jar中实例化时,我将得到core-common.jar。POJO或类中没有一个具有私有方法或构造函数。这让我很困惑。
另外,请允许我指出,在过去,这些POJO有它的构造函数protected,在重新分解它以分层POJO和接口之后,我决定公开所有。
有谁知道在重新分解后导致这种非法访问的原因吗?该应用程序部署在玻璃鱼上。
发布于 2013-02-21 18:14:34
经过几个小时的痛苦和网络挖掘,没有任何joy,我决定过滤类从core-common.jar包与core。这个修好了。
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<executions>
<execution>
<id>resource-dependencies</id>
<phase>compile</phase>
<goals>
<goal>unpack-dependencies</goal>
</goals>
<configuration>
<includeGroupIds>net.proj-alkaline</includeGroupIds>
<includeArtifactIds>core-common</includeArtifactIds>
<outputDirectory>${project.build.outputDirectory}</outputDirectory>
<includes>**/*</includes>
</configuration>
</execution>
</executions>
</plugin>https://stackoverflow.com/questions/14991761
复制相似问题