如何将外部文件夹添加到 Jetty 的类路径



我正在尝试将一个外部文件夹setup/添加到Jetty的类路径中。我可以在eclipse中成功地将setup文件夹添加到其launch configurations中的类路径中。相反,我需要将setup文件夹的路径作为Jetty的参数,因为当我在eclipse环境之外运行项目时,我无法控制launch configurations。我在XML:中尝试过这样的东西

<jvmarg value="-Dpath=${DbServer.location}/setup"/>

这没有任何作用。。。感谢您的帮助!

问题是安装文件夹在WAR目录中,因此即使指向其他任何类路径也不会更改Jetty查找文件夹的位置。在这里查看Jetty如何使用其类路径:

Jetty ClassLoading

包含在WEB-INF/libWEB-INF/classes中的类的优先级高于父类加载器上的类。这与java2类加载器的正常行为相反。

例如,要在Maven(jetty-Maven插件)的帮助下运行它:

        <plugin>
            <groupId>org.eclipse.jetty</groupId>
            <artifactId>jetty-maven-plugin</artifactId>
            <version>9.4.7.v20170914</version>
            <configuration>
                <httpConnector>
                    <port>8095</port>
                </httpConnector>
                <webApp>
                    <contextPath>/</contextPath>
                    <extraClasspath>conf/</extraClasspath>
                </webApp>
            </configuration>
        </plugin>

然后使用mvn jetty:run 运行您的网络应用程序

在我的项目的根目录中,我有一个./conf/目录,其中包括一些属性或xml文件。

的一些配置属性可以在Configuring Your WebApp中找到,但您可以在类org.eclipse.jetty.webapp.WebAppContextorg.eclipse.jetty.maven.plugin.JettyWebAppContext(其子类)中找到未记录的属性

最新更新