2013-05-21 2 views
0

liferay 포틀릿이 있습니다. maven을 사용하여 외부 라이브러리를 추가했습니다. 오류가, 인식 할 수없는 IDE에서 하지만 개미와 배포는 말한다 그러한 패키지없고 클래스가져 오기 패키지를 확인할 수 없습니다.

import pack.SomeClass; 
The import pack cannot be resolved 

코드 : 당신은 받는다는을 사용하고 당신이 정의한 경우

import pack.SomeClass; 
public class MainPortlet extends MVCPortlet { 
    public void doView(RenderRequest renderRequest,RenderResponse renderResponse) { 
     SomeClass a = new SomeClass(); 
    } 
} 
+0

Maven과 어떤 관련이 있습니까? 배포를 위해 Classpath를 어떻게 구축합니까? –

+4

Maven 종속성을 추가했지만 Ant로 배포한다고 썼습니다. 어색해 보입니다. Ant 스크립트가 Maven 의존성을 알고 있습니까? 아이비를 사용하고 있습니까? –

+1

의존성이'util-taglib.jar'와 같은 평생 항아리라면 dependency를 정의하기 위해'liferay-plugin-package.properties'를 사용하십시오. 만약 그것이 liferay jar 나 커스텀 jar가 아니면 당신은 필요할 것이라고 생각합니다 'WEB-INF/lib'에 넣으려면 배포 된 WAR 파일에'WEB-INF/lib'에 종속성 jar가 있는지 확인하십시오. ANT가 Maven 종속성을 인식하지 못하면 ANT가 Maven을 알게하거나 Maven을 사용합니다 WAR 파일을 빌드하십시오. –

답변

0

당신의 시스템으로 범위와의 종속성을 제공하거나 시스템과 같이 제공되거나 제공되면 배포 또는 패키지에서 생성 된 war 파일에 포함되지 않습니다.

로컬에 제 3 자 jar가 있고이를 war 파일에 포함하려는 경우 해당 jar 파일을 로컬 저장소에 설치하고 pom.xml에서 범위를 제거한 다음 package maven에 해당 jar 파일을 포함 시키십시오 당신은

mvn install:install-file -Dfile=c:\kaptcha-{version}.jar -DgroupId=com.google.code 
-DartifactId=kaptcha -Dversion={version} -Dpackaging=jar 

는 희망이 도움이 당신의 로컬 저장소에 항아리를 설치하는 명령

배포

에 오류를 얻을 수 없습니다!

관련 문제