在使用eclipse作为开发环境,使用maven管理项目的环境下。会出现使用mvn clean install打包时,报错找不到依赖的jar包。但是在maven仓库中却能找到对应的jar包。


Failure executing javac, but could not parse the error:
错误:读取 C:\Documents andSettings\keju.wangkj\.m2\repository\com\sun\jdmk\jmxtools\1.2.1\jmxtools
-1.2.1.jar 时出错;error in opening zip file
错误:读取 C:\Documents andSettings\keju.wangkj\.m2\repository\com\sun\jmx\jmxri\1.2.1\jmxri-1.2.1.
jar 时出错;error in opening zip file
2 错误

遇到这种情况,是因为maven下载了空的jar包,只有1k左右大小。删除之后让maven重新下载。

其他知识:

1.hosts文件位置

C:\Windows\System32\drivers\etc\hosts

作用是将一些常用的网址与其对应的ip地址建立成一个关联的数据库,当用户浏览器中输入需要登录的网址时,系统首先从该文件中寻找对应的ip地址,一旦找到,系统立即打开对应网页;如果找不到则将网址交给DNS域名服务器,进行地址的解析。

2.更改文件的用户权限

选中文件之后 右键 属性—安全—选中用户名—点击编辑按钮—选中的用户名—下面的权限全部选中。

3.将cmd运行结果保存到一个文件中

如d:\fefe\d > mvn help:effective-pom  > d:\cc.txt

这样将运行结果保存在d盘下的cc文本文件中。必须是同一路径下才能成功保存。

4.进行单元测试时要在对应的src/test/resources下配置对应的daoImpl.xml和serviceImpl.xml。单元测试失败时,查看原因可以看控制台输出的信息和junit下的信息,也可以用mvn test,这时查看失败原因在 对应的包名下的target下的surefire-reports下对应的文本文件。

5.对项目进行修改之后,要想在jboss下运行,需要首先在maven下面进行重新打包,mvn clean install。将application下的target下的ear文件重新到jboss的安装路径下。

C:\ProgramFiles\jboss-4.2.2.GA_dev\server\default\deploy

6.使用mvn clean install编译项目是,遇到报错:某个类找不到的问题

 虽然总的pom中已经引入对应的jar包,但是子模块中没有引入该jar包的依赖,所以报错。

 在使用该jar包的子模块中的pom里面也要加上依赖。

7.遇到一些test类编译不通过时,使用mvn clean install  -Dmaven.test.failure.ignore=true

忽略test编译错误。

8.service和dao层的配置问题

ERROR [ContextLoader] Context initialization failed

org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'specialityZyAction' defined in ServletContext resource [/WEB-INF/applicationContext-admin.xml]: Error setting property values; nested exception is org.springframework.beans.NotWritablePropertyException: Invalid property 'searchServiceClient' of bean class [com.chsi.admin.speciality.action.SpecialityZyAction]:

Bean property 'searchServiceClient' is not writable or has an invalid setter method.

出现这种问题的原因是:在配置文件中用的名字是'searchServiceClient',但在specialityZyAction中使用时,定义的是private SearchServiceClient client;

 红色部分的名字一定要一一对应。