이것을 달성하기위한 한 가지 방법은 OPS4J Wiki 페이지 ("Getting the benefits of maven-bundle-plugin in other project types")에 설명되어 있습니다.
pom.xml
의 종속성 포함 및 Bundle-ClassPath
지시어를 WAR 플러그인에서 사용하는 위치와 일치하도록 구성 할 수 있습니다. maven-bundle-plugin은 올바른 manifest 헤더를 생성합니다. 다음과 같을 수 받는다는 - 번들 플러그인에 대한
지침 :
<instructions>
<Bundle-ClassPath>.,WEB-INF/classes,{maven-dependencies}</Bundle-ClassPath>
<Embed-Directory>WEB-INF/lib</Embed-Directory>
<Embed-Dependency>*;scope=compile|runtime</Embed-Dependency>
<Embed-Transitive>true</Embed-Transitive>
<!-- ... -->
</instructions>
ETA :이 방법을 사용하는 경우, 나는이 주목할 것을 발견 :
- 을 번들 플러그인은
WEB-INF
디렉토리가 누락되었다고 불평 할 것입니다. 왜냐하면 매니페스트 목표가 실행될 때 war 플러그인이 아직 그것들을 생성하지 않았기 때문입니다 (단지 la
Bundle-ClassPath
지시문 은에 "."을 포함해야합니다. 그렇지 않으면 번들 플러그인이 Import-Packages
헤더를 엉망으로 만듭니다. Google을 통해 일부 JIRA 문제에서이 문제를 발견했지만 더 이상 URL을 찾을 수 없습니다.
그 외의 경우에는 정상적으로 작동합니다.
[Maven Web Project with Apache Felix Plugin] (https://stackoverflow.com/questions/19272627/maven-web-project-with-apache-felix-plugin)의 가능한 복제물 – bigbadmouse