Maven 配置jetty:运行以使用;“最后的”;库文件夹
我有一个使用Maven 配置jetty:运行以使用;“最后的”;库文件夹,maven,maven-3,war,maven-jetty-plugin,maven-war-plugin,Maven,Maven 3,War,Maven Jetty Plugin,Maven War Plugin,我有一个使用war覆盖的Maven项目。如上所述,WAR覆盖的一个问题是,它们似乎有效地避开了Maven的依赖解决方案。这会导致生成和/或运行时验证错误 幸运的是,有一个解决方案-使用overlay/excludes配置指令。这将确保生成的WAR将只包含您想要的内容 然而,jetty:run似乎使用war插件的work目录进行库解析(其中确实包含“坏”JAR) 使用jetty:runwar或jetty:run-exploded可以避免此问题 但是, 由于我们的大多数项目使用jetty:run运
war
覆盖的Maven项目。如上所述,WAR覆盖的一个问题是,它们似乎有效地避开了Maven的依赖解决方案。这会导致生成和/或运行时验证错误
幸运的是,有一个解决方案-使用overlay/excludes
配置指令。这将确保生成的WAR
将只包含您想要的内容
然而,jetty:run
似乎使用war
插件的work
目录进行库解析(其中确实包含“坏”JAR)
使用jetty:runwar
或jetty:run-exploded
可以避免此问题
但是,
- 由于我们的大多数项目使用
运行良好jetty:run
- 在开发过程中,
非常方便带扫描间隔的码头运行
运行目标使用目标lib
文件夹?
为便于说明,以下是具体示例:
- 该项目使用
覆盖org.apache.solr:solr:3.6.2
- 覆盖包括一个旧版本的番石榴,
,而我们的代码使用了一个更新的版本,r05
14.0.1
- 如前所述,虽然目标工件
没有问题,war
将jetty:run
版本包含到类路径中,这会导致代码中的验证错误r05
4.0.0
com.example
索尔原型检验
0.0.1-快照
战争
Solr项目
3.6.2
8983
org.apache.solr
solr核
${solr.version}
org.apache.solr
索尔
${solr.version}
战争
org.apache.solr
索尔索尔
${solr.version}
番石榴
番石榴
14.0.1
src/main/resources
真的
org.apache.maven.plugins
maven编译器插件
2.5.1
1.7
1.7
org.apache.maven.plugins
maven战争插件
2.3
org.apache.solr
索尔
**/番石榴-r05.jar
org.mortbay.jetty
maven jetty插件
6.1.25
10
福
9999
/索尔
${solr.port}
60000
solr.data.dir
目标/数据