2011-01-28 2 views
9

현재 포틀릿 개발 및 Maven 통합과 관련하여 작은 문제가있는 IBM Rational Application Development (IBM Eclipse 배포판)를 사용하고 있습니다. 여기 종속성 추가시 Maven을 복사하는 Maven

상황입니다 :

1) IBM RAD는 자체 (RUN/DEBUG)이 경우

내에서 직접 포틀릿을 배포 할 수있는 능력을 가지고, 내가 메이븐 전혀 WAR를 생성 사용하지 않는 IBM RAD는 WAR를 자동으로 작성하여 IBM WebSphere Portal로 밀어 넣기 때문입니다. 지금까지별로 큰 문제가 아닙니다.

2) 메이븐 의존성의 WebContent/WEB-INF/lib 디렉토리에 복사되지 않습니다

IBM이 자신의 디렉토리 구조를 가지고있는 WebContent/WEB-INF와의 WebContent/META-INF를. 새 종속성을 포함하도록 pom.xml을 갱신 한 경우 해당 JARS가 WebContent/WEB-INF/lib 디렉토리에 복사되지 않으므로 포틀렛을 실행/디버그하려는 경우 해당 라이브러리가 포함되지 않습니다.

질문 :

최대한 빨리 pom.xml 파일을 업데이트로의 WebContent/WEB-INF/lib 폴더에 자동으로 새 JAR 파일을 복사하는 방법이 있나요? (만약 그렇다면 어떤 수명주기가 걸릴 것입니까?)

질문 1에 대한 완벽한 해결책이 없다면이 단계가 "mvn install"컴파일/목표에 포함 되어도 상관 없습니다.

개미 작업을 사용하지 말고 대신 메이븐 자신의 복사 유틸리티가 있으면 사용하는 것이 좋습니다.

WebSphere Portlet 개발을 위해 Maven과 IBM RAD를 통합하는 방법에 대한 제안이 있으면 누구나 답변을 추가하십시오.

감사

+0

나는이 IBM RAD에 대한하지만 당신은 프로젝트 속성에서 배포 조립 조각을 정의 할 수 있습니다 이클립스 WTP와 함께 작동하는지 모르겠습니다. –

답변

2

여기에 내가 늙은 RAD 프로젝트에서 고른 메이븐 2의 pom.xml 골격이다 : RAD에 의해 만들어진으로

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> 
    <modelVersion>4.0.0</modelVersion> 
    <groupId>foo</groupId> 
    <artifactId>fooproject</artifactId> 
    <version>1.0-SNAPSHOT</version> 
    <packaging>war</packaging> 
    <properties> 
    <project.build.sourceEncoding>US-ASCII</project.build.sourceEncoding> 
    </properties> 
    <build> 
    <sourceDirectory>src</sourceDirectory> 
    <finalName>${project.artifactId}-${project.version}</finalName> 
    <resources> 
     <resource> 
     <directory>src</directory> 
     <includes><include>**/*.properties</include></includes> 
     <filtering>true</filtering> 
     </resource> 
    </resources> 
    <plugins> 
     <plugin> 
     <groupId>org.apache.maven.plugins</groupId> 
     <artifactId>maven-compiler-plugin</artifactId> 
     <version>2.1</version> 
     </plugin> 
     <plugin> 
     <groupId>org.apache.maven.plugins</groupId> 
     <artifactId>maven-war-plugin</artifactId> 
     <version>2.1-beta-1</version> 
     <configuration> 
      <webappDirectory>${project.basedir}/WebContent</webappDirectory> 
      <warSourceDirectory>${project.basedir}/WebContent</warSourceDirectory> 
      <webXml>${project.basedir}/WebContent/WEB-INF/web.xml</webXml> 
      <packagingIncludes>**/*.properties,**/*.jsp,**/*.jar,**/*.class,theme/**/*,images/**/*,**/*.xml,**/*.swf,**/*.tld,**/*.txt</packagingIncludes> 
      <archive> 
      <manifest> 
       <addClasspath>true</addClasspath> 
      </manifest> 
      </archive> 
     </configuration> 
     </plugin> 
    </plugins> 
    </build> 
    <dependencies> 
    <!-- compile classpath --> 
    </dependencies> 
</project> 

이이 디렉토리 구조에 적용되었다가 (버전 7.5, 포털을 표적으로 WAS 7의 6.5.x). 이것은 그것을 할 수있는 유일한 방법이 아니므로 POM을 향상시킬 수 있다고 확신하지만 그 목적을 달성했습니다. 종속성을 적절하게 추가하십시오.

+0

고마워요. 매력처럼 작동하십시오. – xandross

1

Maven과 RAD를 통합하는 것과 같은 질문과 문제가있었습니다. 나는 Gorkem의 의견에 관해서는, m2e와 RAD (8)을 사용하여 자동으로 WebSphere Portal에 7

첫째을 위해/디버그 포틀릿을 배포하기 위해 노력하고있어 :

나는 확실하지 않다이 IBM RAD뿐만와 함께 작동하는 경우 Eclipse WTP를 사용하면 프로젝트 속성에서 배포 어셈블리 조각을 정의 할 수 있습니다.

RAD에서 작동합니다. WebSphere 빌드 구조와 일치하고 내 Maven 종속성을 WEB-INF \ lib 폴더 (프로젝트 -> 특성 -> 배치 어셈블리 -> 추가 -> Java 빌드 경로 항목 -> Maven 종속성)로 이동하도록 프로젝트의 배치 어셈블리를 설정했습니다.

enter image description here

이 구성

나 성공적으로 전쟁을 구축하고 내가 RAD에서 생성 된 EAR ​​파일을 내보내고 수동으로 로컬 서버에 배포 할 수 있도록했고, 그것을 잘 작동합니다. 그러나 자동 배포 및 '서버에서 실행'옵션은이 기능만으로는 작동하지 않습니다. 어떤 이유로, 모든 전이 종속성 (portlet-api, servlet-api 등)을 WebSphere에 배포하여 충돌 및 폭발을 일으킬 수 있습니다.

따라서, 나는 제한된 성공 맥도웰에 의해 제안 된 치어 솔루션을 시도 - 그것은 컴파일도 제대로 내 테스트를 실행하지 않을, 내가 테스트를 제거 할 때 RAD에서 성공적으로 배포 않았지만. 나는 테스트를 포함하기 위해 그의 pom에서 일하고 있고, 내가 일할 때 나의 결과를 게시 할 것이다.

또한 Maven과 RAD를 통합하는 "공식적인"방법으로 2010 IBM document에 대한 링크가 포함 된 this thread을 발견했습니다. 나는 그것을 통해 일하고 있으며 어떤 솔루션이 내 요구를 더 잘 충족시키는 지 알게 될 것입니다. 다시 말하지만, 내가 작동 할 때 여기에 더 많은 정보를 게시 할 것입니다.


업데이트 2011년 11월 21일

IBM은 메이븐/RAD 통합을위한 업데이트 된 문서를 생산하고있다. here을 찾을 수 있습니다. 나는 그것을 끝내었고 꽤 잘 끝났습니다. Maven, M2eclipse 및 WTP에 대한 스크린 샷과 배경에 대해 단계별로 설명합니다. Chuck이 논문에서 설명하는 몇 가지 성가심이 있지만, 결국 Maven 규칙을 포기하지 않고 WebSphere Portal 환경에서 Maven을 사용할 수있게되었습니다. 다행히도 다른 사람들이 유용 할 수 있기를 바랍니다.