그래서 문제는 모든 것을 모노리딕 항아리에 패키징한다는 것은 OSGI 구조가 다른 항아리의 OSGI 구조에 의해 겹쳐 쓰여진다는 것입니다. 모 놀리 틱 항아리의 장점은 하나의 파일을 서버로 밀어 넣는 것이었지만 필요하지는 않았습니다 (서버에 밀어 넣기 위해 capistrano를 사용했기 때문에)
대신에 최종 빌드 디렉토리에 jar 파일을 복사하는 것이 더 쉽습니다 .
https://devcenter.heroku.com/articles/java
<?xml version="1.0" encoding="UTF-8"?>
<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>com.example</groupId>
<version>1.0-SNAPSHOT</version>
<artifactId>helloworld</artifactId>
<dependencies>
<dependency>
<groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-servlet</artifactId>
<version>7.6.0.v20120127</version>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
<version>2.5</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<version>2.4</version>
<executions>
<execution>
<id>copy-dependencies</id>
<phase>package</phase>
<goals><goal>copy-dependencies</goal></goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>
정답 : Heroku가의 자바 설정이의 완벽한 예를있다! 사람들은 때로는이 모노리딕 단지 (때로는 우 버쟈 (uberjars)라고 부름)를 만들기 위해 매우 열중하고 있지만, 이와 관련된 모든 종류의 함정이 있습니다. 별도의 jar (또는 WAR와 같은 컨테이너에 들어있는 많은 jar)로 배포 할 수 있다면 훨씬 더 좋은 방법입니다. –