2014-10-08 6 views
1

jawr-core 다음과 같은 의존성 (artifact details 참조)이 있습니다Rhino는 명시 적으로 Jawr의 적은 프로세서에 필요한

<dependency> 
    <groupId>org.mozilla</groupId> 
    <artifactId>rhino</artifactId> 
    <scope>provided</scope> 
</dependency> 

내가 범위를 명시 적으로 코뿔소 의존성을 추가하는 경우 java.lang.NoClassDefFoundError: org/mozilla/javascript/ScriptableObject

말을 예외에 직면하고있어 LESS 파일을 처리 내 프로젝트를 컴파일 예외가 사라졌습니다.

그러나 왜 Jawr는 LESS 파일을 처리해야 할 때 제공된 범위를 사용하여 종속성을 갖습니까?

내 웹 애플리케이션이 실행되고있는 서블릿 컨테이너

모든 종속성 provided뿐 아니라 코뿔소 의존성을 만들었습니다 jawr 톰캣 7

+1

내가 direclty 질문에 대답 할 수 있는지 확실하지 않지만 jawr은 모든 의존성을'제공 '했습니다. 그들은 정말 당신의 서버의 클래스 패스 (https://jawr.java.net/docs/postprocessors.html#YUI_compressor에서 다음과 같이 쓰여있다. "이 링크에서 문제가 될 수있다. 이미 서버의 클래스 패스에 rhino가 있습니다. "). 그것이 단지 모두가 제공되는 이유 일뿐입니다. 그런 다음 사용하는 jawr의 기능에 필요한 종속성을 명시 적으로 포함시켜야합니다. – DB5

+0

예. 대답으로 제공 할 수 있습니다. – dtrunk

+1

추가 : rhino 대신 lesscss-engine을 추가해야했습니다. – dtrunk

답변

2

입니다.

그들은 서버의 classpath에 방해가되는 것을 정말로 걱정하는 것처럼 보입니다. 이 링크에서

: http://jawr.java.net/docs/postprocessors.html#YUI_compressor, 그들은 다음 주 :

... 이미 서버의 클래스 경로에 코뿔소가있는 경우 문제가 될 수있는 ...

은 수 그것이 그들이 모두 제공되는 이유라고 생각하십시오. 그런 다음 사용하려는 jawr의 기능에 필요한 종속성을 명시 적으로 포함해야합니다.