我想要一台便携式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
从上面,我想删除etc
和lib
目录,并保留以下内容
JettyHome │ ├─logs ├─webapps │ └─MyWebApp.war └─ start.jar
我使用OneJar和lib
将所有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
所以我可以使用便携式版本,而且我从不担心客户所在地的某个人更改配置。
感谢。
答案 0 :(得分:1)
您最好的选择是将码头嵌入您的应用程序中。
http://wiki.eclipse.org/Jetty/Tutorial/Embedding_Jetty
有了这个,你只需要在类路径中安装Jetty jar就可以了。您甚至可以按照自己的意愿将所有内容啜饮到一个jar中,并在清单中创建一个Main类来启动所有内容。
无论如何,xml文件实际上只是一个xml的薄层。看一下这里的一些嵌入式示例,这些都应该让您了解正确的方法。