RAD의 기본 제공 도구 대신 Maven을 사용하여 애플리케이션을 빌드하고 배포하도록 애플리케이션을 변환했습니다. 대부분 잘 돌아 갔지만 마지막으로 "gotcha"는 애플리케이션에 "parent last/application"이라는 클래스 로더 정책이 필요하다는 것입니다. 지금은 WAS plugin for Maven을 사용하면 응용 프로그램을 완전히 제거하고 다시 설치하는 것처럼 보이므로 코드를 변경하고 응용 프로그램을 다시 배포 할 때마다 관리 콘솔을 통해 진행해야하므로이 작업을 자동화하고 싶습니다. 배포 된 EAR에 클래스 로더 설정을 내장 할 수 있다면 작업 속도가 훨씬 빨라질 것입니다.WebSphere 및 Maven 용 deployment.xml
클래스 로더 구성은 RAD 관리 파일 "EAR 프로젝트의"META-INF/ibmconfig "폴더에있는"deployment.xml "에서 제어됩니다. 필자는 EAR에이 디렉토리 구조를 포함시킬 수 있다고 생각합니다. WebSphere에 배포 할 때 제대로 작동하지만이 파일의 내용에 대해 더 염려합니다. 그것은이 같은 같습니다
<?xml version="1.0" encoding="UTF-8"?>
<appdeployment:Deployment xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:appdeployment="http://www.ibm.com/websphere/appserver/schemas/5.0/appdeployment.xmi" xmi:id="Deployment_1460348645719">
<deployedObject xmi:type="appdeployment:ApplicationDeployment" xmi:id="ApplicationDeployment_1460348645719" startingWeight="10" warClassLoaderPolicy="SINGLE">
<modules xmi:type="appdeployment:WebModuleDeployment" xmi:id="WebModuleDeployment_1460348645719" startingWeight="10000" uri="MyWarProject1.war"/>
<modules xmi:type="appdeployment:EJBModuleDeployment" xmi:id="EJBModuleDeployment_1460348645719" startingWeight="5000" uri="MyEJBProject1.jar"/>
<modules xmi:type="appdeployment:WebModuleDeployment" xmi:id="WebModuleDeployment_1460348645720" startingWeight="10000" uri="MyWarProject2.war"/>
<classloader xmi:id="Classloader_1460348645719" mode="PARENT_LAST"/>
...
응용 프로그램의 모든 모듈은 EJBModuleDeployment_1460348645719
로 ID가, 그리고 내가 RAD를 통해 WAS에 응용 프로그램이 처음 출판되었을 때이이 만들어진 같은데요. 새로운 Maven 화 프로젝트를 새로운 개발자에게 제공하면이 deployment.xml
파일을 사용할 수 있습니까? 아니면 일반적으로 RAD가 관리하는 특정 WAS 인스턴스에만 해당하는 부분이 있습니까?
나중에 애플리케이션에 모듈을 추가하면 Maven으로 새 모듈 ID를 어떻게 생성합니까? EJBModuleDeployment_123
과 같은 ID를 만들거나 RAD/WAS가 실제로 관리해야하는 항목일까요? Jython 스크립트를 작성하여 Maven과 어떻게 든 통합 할 수 있는지 궁금 해서요.하지만 작동하는지 또는 필요한 경우인지 확실하지 않습니다.
ID의 숫자와 관련하여 (EJBModuleDeployment_123과 같은 ID를 구성 할 수 있습니까? 아니면 실제로 RAD/WAS에서 관리해야 할 것입니까?), 원하는대로 사용할 수 있습니다 (at 최소 WAS 7.0 및 8.5.5) – butallmj