bir*_*rdy 6 tomcat embedded-jetty maven maven-jetty-plugin
我曾经在本地tomcat服务器上部署我的WAR,并在libtomcat 的文件夹中有一个jackson-core.jar .现在,我已切换到maven并使用jetty插件.
一切正常,但406 error - The server responded with 406 error (Not acceptable)我知道错误即将到来,因为app server(jetty)中没有jackson-core.jar.
题:
如何将jar放在嵌入式jetty的lib文件夹中,就像我为独立的tomcat服务器所做的那样.这可能吗?
我尝试过以下方法:
<configuration>
<scanIntervalSeconds>5</scanIntervalSeconds>
<webAppConfig>
<contextPath>/myapp</contextPath>
<extraClasspath>/Users/myuser/Downloads/jackson-core-2.1.0.jar</extraClasspath>
</webAppConfig>
</configuration>
Run Code Online (Sandbox Code Playgroud)
Ste*_*lly 13
您可以通过向<dependencies>插件定义添加一个部分来修改插件的类路径(而不是项目的类路径).例如
<project>
...
<build>
...
<plugins>
...
<plugin>
<groupId>org.mortbay.jetty</groupId>
<artifactId>jetty-maven-plugin</artifactId>
<version>8.0.4.v20111024</version><!-- or whatever version you specified -->
<configuration>
...
</configuration>
...
<dependencies>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-core</artifactId>
<version>2.1.0</version>
</dependency>
</dependencies>
...
</plugin>
...
</plugins>
...
</build>
...
</project>
Run Code Online (Sandbox Code Playgroud)
现在你可能正在使用较旧版本的Jackson,甚至是较旧的API(它存在于不同的GroupId:ArtifactId,因为它破坏了向后兼容性),所以你需要做自己的研究以确保你选择了正确的.
<plugin>大多数更高级的插件都使用添加范围依赖关系的一般原则.有一两个小问题,即你要覆盖插件本身的依赖关系,即你要添加的依赖关系的groupId:artifactId匹配插件的pom中声明的依赖关系的groupId:artifactId,你的条目将占用预防性,如果你拉低版本,你可能会破坏插件...但对于码头和杰克逊来说情况并非如此.
使用jetty的另一个具体问题是当你引入slf4j-api依赖时,jetty将尝试使用它进行日志记录,并在slf4j的API的一个小区域中给出一些重大的API更改(特别是与编写日志记录适配器 - 如果您不使用属于slf4j版本的slf4j- _ jars 套件,您正在使用的jetty版本可以使用,那么您可能会遇到问题.
| 归档时间: |
|
| 查看次数: |
2777 次 |
| 最近记录: |