我们公司目前正在使用RAD来开发我们的Java应用程序,但我们正在寻求使用WebSphere Developer Tools迁移到Eclipse。我们过渡的试点进展顺利,除了我们遇到最初在Eclipse中创建的新应用程序的类加载器策略问题,而不是RAD。我们最初由RAD创建的项目在通过Eclipse发布时使用正确的类加载器策略(PARENT_LAST)进行部署,因为我们最初使用RAD中的部署描述符编辑器在/src/main/application/META-INF/ibmconfig/cells/defaultCell/applications/defaultApp/deployments/defaultApp/deployment.xml
中设置了正确的类加载器策略。但现在使用Eclipse&在WebSphere Developer Tools中,我们不再拥有很好的部署描述符编辑器UI来为我们创建或修改此文件(显然是it's not included with the WDT plugin)。
那么,我的问题是,设置此类加载器策略的最佳方法是什么?当我们将PARENT_LAST的类加载器策略部署到本地服务器时,我们仍需要一些新的应用程序。我们的团队虽然对此有所了解,但目前我们可以看到4个选项。
选项4似乎是最好的,但它仍然是一个手动过程,并且有些容易出错。即使我们的大多数开发人员都能为新应用程序采用这种方法,但如果这是一个简单的单键式点击类型过程,那将是最理想的。
所以考虑到IBM已经从WDT插件中省略了部署描述符编辑器,看起来似乎选项4是我们唯一的希望,但我会再次问,是否还有其他更好的方法来设置WebSphere类加载器在Eclipse中创建该应用程序时应用程序的PARENT_LAST策略?感谢任何帮助。谢谢。
答案 0 :(得分:2)
嗯,Eclipse是免费的,而Rational Application Developer每年花费约5,000美元(每个开发人员)。漂亮的部署编辑器(它不是那么好。它往往包含各种不需要的东西。谁需要那里定义的Derby DataSource?)是你为了节省吨而必须放弃的东西之一现金每年。
我很离题。
选项(1)是一个完整的禁忌。您不希望依赖手动步骤进行部署;您应该尽可能地自动化部署。
选项(2)可能。我不确定您使用的是哪种WebSphere,但如果您使用的是Network Deployment版本,那么您可以设计一个由多个服务器和集群组成的WebSphere拓扑。理论上,您可以提出这样的拓扑,即PARENT_LAST
个应用程序在特定服务器(或集群)上运行,PARENT_FIRST
个应用程序在另一个服务器(或集群)上运行。
您可以将选项(2)与技术计划结合起来,让所有应用程序都与PARENT_LAST
一起使用。如果您的应用程序使用的是WebSphere正常使用的流行第三方库(出于内部用途),那么这是推荐的方法。例如,如果您正在使用Commons Lang,那么您已经建议切换到PARENT_LAST
,因为WebSphere使用自己的Commons Lang内部副本可能与您的内容相冲突。
选项(3) - 它当然比选项(1)更好,但如果您可以正确使用WebSphere拓扑,则不一定比选项(2)差。
选项(4)更难实现,但我相信这是最好的方法:
如果没有效果......考虑每年支付5,000美元(每位用户)并获得选项(5) - 使用IBM的编辑器。或者,更好的...雇用某人设计一个Eclipse插件,它将为您做到这一点。不应该花费超过一两周的时间来发展。
答案 1 :(得分:1)
um nether回答很有用。
进入WAS控制台并选择您的应用程序;例如:
企业应用程序> my_application_ear>类加载器并更改“类加载器顺序和WAR类加载器策略”
答案 2 :(得分:0)
在eclipse点击服务器>>中打开管理控制台您的服务器>>向下滚动并在服务器基础架构下>> java进程管理选择类加载器>>选择新的你可以在这里改变它