mvn 3.3.9
eclipse neon
jdk 1.8
项目在eclipse里面编译运行都没问题,但是单独用maven打包就报错了,eclipse关联的是外部的maven也就是我编译出错的那个maven
maven编译错误如下
[ERROR] D:\code\git\mytest\src\main\java\com\test\dto\Contact.java:[5,1] 错
误: 找不到符号
[ERROR] 符号: 类 JsonIgnoreProperties
D:\code\git\mytest\src\main\java\com\test\dto\Link.java:[6,39] 错
误: 程序包com.fasterxml.jackson.annotation不存在
[ERROR] D:\code\git\mytest\src\main\java\com\test\dto\Link.java:[
8,1] 错误: 找不到符号
[ERROR] 符号: 类 JsonIgnoreProperties
D:\code\git\mytest\src\main\java\com\test\util\JerseyRegister.java:[3,35]
错误: 程序包org.glassfish.jersey.jackson不存在
[ERROR] D:\code\git\mytest\src\main\java\com\test\util\JerseyRegister.java:
[5,39] 错误: 程序包com.fasterxml.jackson.jaxrs.json不存在
[INFO] 18 errors
检查你的pom.xml是否有引用jackson同楼上的意思,你看下你eclipse里面项目的依赖是否都体现在了pom.xml中呢<divclass='ref'>
你项目的编码和maven里面的编码不一致
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>2.5.1</version>
<configuration>
<source>1.6</source>
<target>1.6</target>
<spanstyle="background-color:#E53333;"><encoding>UTF-8</encoding>
</configuration>
</plugin>
这里改成你项目的编码看下
建议
1)你可以去target下生成的jar文件,对应里面是否有com.fasterxml.jackson.annotation?
2)如果是依赖的jar以lib文件夹的形式保存的话,确认你运行的classpath中是否已经导入?
cleanpackage-Dmaven.test.skip=true
貌似是少了一个包,导入进去就好了,
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.4.5</version>
</dependency>
但奇怪的是在eclipse中没有报错
有可能eclipse项目设置了依赖jackson,所以没问题.而maven必需要在pom.xml里配置才能下载并引用本地仓库的jar.版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。