【问题标题】:How to add external folder to Jetty's classpath如何将外部文件夹添加到 Jetty 的类路径
【发布时间】:2013-07-08 20:08:45
【问题描述】:

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

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

这没有任何作用...感谢任何帮助,谢谢!

【问题讨论】:

  • 您应该发布用于启动码头的 ANT xml。我猜问题是你定义类路径的方式,它被明确传递给“java”ANT任务。

标签: java eclipse ant jetty classpath


【解决方案1】:

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

Jetty ClassLoading

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

【讨论】:

【解决方案2】:

例如,在 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 运行您的 web 应用程序

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-07-10
    • 1970-01-01
    • 2019-12-22
    • 2013-08-27
    • 1970-01-01
    • 2016-04-03
    • 1970-01-01
    相关资源
    最近更新 更多