2012-05-13 31 views

回答

1

所以,問題是將所有東西打包成一個單一的jar文件就是OSGI結構會被其他jar的OSGI結構覆蓋。整體瓶的好處是有一個單一的文件推送到服務器,但沒有必要(因爲我正在使用capistrano推送到服務器)

相反,只是將jar複製到最終的生成目錄。 Heroku的Java設置有一個很好的例子:

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> 
+0

正確的答案!人們有時非常熱衷於創造這些單一的罐子(有時稱爲uberjars),但是與此有關的各種陷阱。如果您可以將它們部署爲單獨的瓶子(或裝入WAR等容器中的許多罐子),那麼這是一個更好的方法。 –

相關問題