Java Maven覆盖层和jetty插件
我正在使用Maven覆盖,并在pom中包含一个从属war,如下所示Java Maven覆盖层和jetty插件,java,maven,jetty,overlays,Java,Maven,Jetty,Overlays,我正在使用Maven覆盖,并在pom中包含一个从属war,如下所示 <dependency> <groupId>com.test.dependent</groupId> <artifactId>dependent</artifactId> <version>1.0-SNAPSHOT</version> <type>war</type> <scope>runt
<dependency>
<groupId>com.test.dependent</groupId>
<artifactId>dependent</artifactId>
<version>1.0-SNAPSHOT</version>
<type>war</type>
<scope>runtime</scope>
</dependency>
com.test.dependent
依赖的
1.0-快照
战争
运行时
生成的war文件看起来很好,它包含了两个项目中的资源,如果我将其部署到tomcat服务器上,一切正常
然而,我习惯于在maven中使用jetty插件,并使用目标jetty:run运行我的构建
<build>
<plugins>
<plugin>
<groupId>org.mortbay.jetty</groupId>
<artifactId>maven-jetty-plugin</artifactId>
<version>6.1.10</version>
</plugin>
</plugins>
<finalName>myproject</finalName>
</build>
org.mortbay.jetty
maven jetty插件
6.1.10
我的项目
不幸的是,jetty似乎不包含从属项目中的文件。如何配置插件以将依赖项目考虑在内?我不知道
maven-war插件
包会自动覆盖(我总是在配置中添加一个显式的
部分),但如果是这样,只需运行mvn-package-jetty:run
就可以了,因为jetty:run
也会检查目标目录。在上,您可以将jetty:run
与解包配置一起使用:
<webAppConfig>
...
<unpackOverlays>true</unpackOverlays>
...
</webAppConfig>
...
真的
...
在Jetty 6上,您唯一的选择是使用Jetty:run war
。这似乎没有帮助,虽然在我的目标文件夹中,似乎所有文件都在那里,因此它们都在war文件中,但依赖项目中的文件无法通过浏览器访问刚才注意到:启动Jetty时,我收到日志消息[INFO]Webapp directory=C:\Users\paul\develope\myproject\src\main\Webapp在此文件中,我当然没有从属项目中的文件。你知道如何配置jetty以便从target获取文件吗?@Paul:除了前面提到的war plugin
config中对覆盖的明确定义之外,我不知道-它对我来说是现成的。我确实使用了更新版本的maven jetty plugin
,不过(6.1.25
)。当前的jetty maven plugin
版本是9.1.0.v20131115
-。Jetty 6于2010年停产。截至今天,自Jetty 6.1.10以来,Jetty已经发布了151个版本。最近的Jetty-9 maven插件肯定支持maven war插件覆盖。看见