Websphere 无法使用 Eclipse 热部署加载 EJB 接口
Websphere can't load EJB interface with eclipse hot-deploy
尝试使用 maven 编写 ear 并使用 eclipse 将其部署到 WebSphere AS。我的耳朵有下一个结构:
test-ejb-ear.ear
|
+-test-ejb.jar
|
+lib
-|
-+-test-ejb-interface.jar
当我使用管理控制台部署它时它工作正常。但是当我使用 eclipse 热部署时,它会生成下一个异常
CWMDF0015E: The class loader cannot load the ru.test.EjbInterface on ru.test.EjbInterfaceImpl Enterprise JavaBeans (EJB) file
我能做什么?将 Eclipse Mars 与 WAS 8.5.5.5 一起使用。
test-ejb 的 ejb 插件
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-ejb-plugin</artifactId>
<version>2.5.1</version>
<configuration>
<ejbVersion>3.1</ejbVersion>
<archive>
<manifest>
<addClasspath>true</addClasspath>
</manifest>
</archive>
</configuration>
</plugin>
</plugins>
</build>
test-ejb-ear 的耳插件:
<build>
<plugins>
<plugin>
<artifactId>maven-ear-plugin</artifactId>
<version>2.8</version>
<configuration>
<defaultLibBundleDir>lib/</defaultLibBundleDir>
<skinnyWars>true</skinnyWars>
<version>6</version>
<modules>
<ejbModule>
<groupId>ru.test.ejb</groupId>
<artifactId>test-ejb</artifactId>
</ejbModule>
</modules>
</configuration>
</plugin>
</plugins>
</build>
通过将 maven-ear-plugin 版本更改为 2.10 并将 defaultLibBundleDir 更改为 'lib'
解决
<build>
<plugins>
<plugin>
<artifactId>maven-ear-plugin</artifactId>
<version>2.10</version>
<configuration>
<defaultLibBundleDir>lib</defaultLibBundleDir>
<skinnyWars>true</skinnyWars>
<version>6</version>
<modules>
<ejbModule>
<groupId>ru.test.ejb</groupId>
<artifactId>test-ejb</artifactId>
</ejbModule>
</modules>
</configuration>
</plugin>
</plugins>
</build>
尝试使用 maven 编写 ear 并使用 eclipse 将其部署到 WebSphere AS。我的耳朵有下一个结构:
test-ejb-ear.ear
|
+-test-ejb.jar
|
+lib
-|
-+-test-ejb-interface.jar
当我使用管理控制台部署它时它工作正常。但是当我使用 eclipse 热部署时,它会生成下一个异常
CWMDF0015E: The class loader cannot load the ru.test.EjbInterface on ru.test.EjbInterfaceImpl Enterprise JavaBeans (EJB) file
我能做什么?将 Eclipse Mars 与 WAS 8.5.5.5 一起使用。
test-ejb 的 ejb 插件
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-ejb-plugin</artifactId>
<version>2.5.1</version>
<configuration>
<ejbVersion>3.1</ejbVersion>
<archive>
<manifest>
<addClasspath>true</addClasspath>
</manifest>
</archive>
</configuration>
</plugin>
</plugins>
</build>
test-ejb-ear 的耳插件:
<build>
<plugins>
<plugin>
<artifactId>maven-ear-plugin</artifactId>
<version>2.8</version>
<configuration>
<defaultLibBundleDir>lib/</defaultLibBundleDir>
<skinnyWars>true</skinnyWars>
<version>6</version>
<modules>
<ejbModule>
<groupId>ru.test.ejb</groupId>
<artifactId>test-ejb</artifactId>
</ejbModule>
</modules>
</configuration>
</plugin>
</plugins>
</build>
通过将 maven-ear-plugin 版本更改为 2.10 并将 defaultLibBundleDir 更改为 'lib'
解决<build>
<plugins>
<plugin>
<artifactId>maven-ear-plugin</artifactId>
<version>2.10</version>
<configuration>
<defaultLibBundleDir>lib</defaultLibBundleDir>
<skinnyWars>true</skinnyWars>
<version>6</version>
<modules>
<ejbModule>
<groupId>ru.test.ejb</groupId>
<artifactId>test-ejb</artifactId>
</ejbModule>
</modules>
</configuration>
</plugin>
</plugins>
</build>