我目前正在使用Maven插件运行Jetty 9,其定义如下:
父pom.xml
<properties>
<jetty.version>9.1.3.v20140225</jetty.version>
</properties>
<pluginManagement>
<plugins>
<plugin>
<groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-maven-plugin</artifactId>
<version>${jetty.version}</version>
<dependencies>
<dependency>
<groupId>org.ow2.asm</groupId>
<artifactId>asm</artifactId>
<version>${asm.version}</version>
</dependency>
</dependencies>
</plugin>
</plugins>
</pluginManagement>
网络项目pom.xml
<plugins>
<plugin>
<groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-maven-plugin</artifactId>
<configuration>
<httpConnector>
<port>8888</port>
<idleTimeout>60000</idleTimeout>
</httpConnector>
<scanIntervalSeconds>10</scanIntervalSeconds>
<stopKey>StopTouchingMe</stopKey>
<stopPort>8889</stopPort>
<systemProperties>
<systemProperty>
<name>com.pearson.platformj.server.root</name>
<value>${project.basedir}/target</value>
</systemProperty>
</systemProperties>
<webApp>
<contextPath>/</contextPath>
</webApp>
<webAppConfig>
<defaultsDescriptor>src/main/resources/webdefault.xml</defaultsDescriptor>
</webAppConfig>
</configuration>
</plugin>
</plugins>
我需要覆盖默认的webdefault.xml
,以便我可以在Windows上进行开发。但是当我执行mvn jetty:run
时,我看到了
[INFO] --- jetty-maven-plugin:9.1.3.v20140225:run (default-cli) @ web ---
[INFO] Configuring Jetty for project: web
[INFO] webAppSourceDirectory not set. Trying src\main\webapp
[INFO] Reload Mechanic: automatic
[INFO] Classes = E:\Ideas\xte\XTE\web\target\classes
[INFO] Context path = /
[INFO] Tmp directory = E:\Ideas\xte\XTE\web\target\tmp
[INFO] Web defaults = org/eclipse/jetty/webapp/webdefault.xml
[INFO] Web overrides = none
[INFO] web.xml file = file:/E:/Ideas/xte/XTE/web/src/main/webapp/WEB-INF/web.xml
[INFO] Webapp directory = E:\Ideas\xte\XTE\web\src\main\webapp
如您所见,webdefault.xml
是从默认位置提取的,而不是从指定位置提取的。任何帮助将不胜感激。
答案 0 :(得分:2)
问题是webAppConfig
是webApp
的别名,因此您应将其删除并将defaultsDescriptor
添加到webApp
代替:
<webApp>
<contextPath>/</contextPath>
<defaultsDescriptor>src/main/resources/webdefault.xml</defaultsDescriptor>
</webApp>