0

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

    码头之家
    │
    ├─等
    │ ├─ jetty.xml
    │ ├─ jetty-logging.xml
    │ ├─ jetty-plus.xml
    │ └─ webdefault.xml
    ├─日志
    │
    ├─库
    │ ├─ jetty-6.1.26.jar
    │ └─ other.jar
    ├─网络应用
    │ └─MyWebApp.war
    ├─ start.jar
    └─ start.ini

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

    码头之家
    │
    ├─日志
    ├─网络应用
    │ └─MyWebApp.war
    └─ start.jar

我使用 OneJar 和 .jar 将所有lib文件夹 jar 打包到start.jarstart.ini。有什么方法可以将etc文件夹内容保存在 jar 中,以便我可以简单地运行

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 

所以我可以有一个可移植的版本,而且我从不担心有人在客户端更改配置。

谢谢。

4

1 回答 1

1

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

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

有了这个,你只需要在类路径中有码头罐子,你应该很高兴。您甚至可以根据需要将所有内容都放入一个罐子中,并在清单中添加一个 Main 类来启动所有内容。

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

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

于 2012-11-08T16:56:51.933 回答