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

时间:2013-07-10 18:36:09

标签: java eclipse ant jetty classpath

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

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

这没有做任何事......感谢任何帮助,谢谢!

2 个答案:

答案 0 :(得分:0)

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

Jetty ClassLoading

  

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

答案 1 :(得分:0)

例如,在Maven(jetty-maven-plugin)的帮助下运行它:

        <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(其子类)中找到未记录的属性