Portable Jetty服务器发布

时间:2012-11-08 16:17:04

标签: java jetty release

我想要一台便携式Jetty服务器。默认的jetty.home目录包含

    JettyHome
    │
    ├─etc
    │ ├─ jetty.xml
    │ ├─ jetty-logging.xml
    │ ├─ jetty-plus.xml
    │ └─ webdefault.xml
    ├─logs
    │
    ├─lib
    │  ├─ jetty-6.1.26.jar
    │  └─ other.jar
    ├─webapps
    │  └─MyWebApp.war 
    ├─ start.jar
    └─ start.ini

从上面,我想删除etclib目录,并保留以下内容

    JettyHome
    │
    ├─logs
    ├─webapps
    │  └─MyWebApp.war 
    └─ start.jar

我使用OneJarlib将所有start.ini文件夹广告包装到start.jar中。有没有办法在jar中保留etc文件夹内容,以便我可以简单地运行

java -Xmx640M -jar rw.jar 

而不是

java -Xmx640M -jar rw.jar etc/jetty.xml etc/jetty-annotations.xml etc/jetty-deploy.xml etc/jetty-logging.xml etc/jetty-webapps.xml 

所以我可以使用便携式版本,而且我从不担心客户所在地的某个人更改配置。

感谢。

1 个答案:

答案 0 :(得分:1)

您最好的选择是将码头嵌入您的应用程序中。

http://wiki.eclipse.org/Jetty/Tutorial/Embedding_Jetty

有了这个,你只需要在类路径中安装Jetty jar就可以了。您甚至可以按照自己的意愿将所有内容啜饮到一个jar中,并在清单中创建一个Main类来启动所有内容。

无论如何,xml文件实际上只是一个xml的薄层。看一下这里的一些嵌入式示例,这些都应该让您了解正确的方法。

http://git.eclipse.org/c/jetty/org.eclipse.jetty.project.git/tree/examples/embedded/src/main/java/org/eclipse/jetty/embedded