我正在尝试将一个外部文件夹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/lib
或WEB-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.WebAppContext
或org.eclipse.jetty.maven.plugin.JettyWebAppContext
(其子类)中找到未记录的属性。