Mac 10.7 使用Maven 小记

摘要:
三天后,我第一次安装了插件。最近,我发现市场上新安装的eclipse 3.7 m2e插件总是报告缺少slf4j的错误。jar,所以我在谷歌上搜索了一个离线的m2e包,并以链接模式安装了它。首先,在Mac 10.7下导入该公司的Maven项目后,我发现它总是缺少工件,但我很清楚地从该公司复制了缺少的包。但今天早上,我解决了问题。如果这发生在与我相同的mac上,让我们有两个设置注释掉xml的<localRepository>节点!2.如果公司有自己的Maven私有服务器,jar包pom中的地址指向私有服务器地址。

前前后后搞了3天,先是装插件,我发现最近,新下的eclipse3.7在market里装m2e插件总是报missing slf4j.jar的错误,于是我google了找了个m2e离线包,以link的方式安装。接着,各种奇葩的问题便出现了。

首先在Mac10.7下(mac10.7)导入公司的maven项目后发现总是missing artifact,但我明明把缺少的包从公司拷过来的说。

后来经过google baidu,查看了自己eclipse,java的classpath,(Preference -> Java -> Build Path -> Classpath Variables) :

我的M2_REPO 的值竟然是

/User/current_user/coding/eclipse/Eclipse.app/Contents/MacOS//.m2/repository

也就是说,我的eclipse的m2e插件将我的仓库定位错了,帮我定位到eclipse里了。

但我的.m2/settings.xml 和 maven_home/conf/settings.xml里的<localRepository>节点没有写错,确实是写了~/.m2/repository,example就是这么写的。然后我想着索性将~写成/User/current_user/.m2/repository 结果可想而知,M2_REPO变成了

/User/current_user/coding/eclipse/Eclipse.app/Contents/MacOS/User/current_user/.m2/repository

奇怪的是,我在osc上提问时,也有个10.7的大神但他却很正常,没发生我这种奇葩情况。。

不过今早把问题解决了,如果和我一样用mac也发生这种情况的话,就吧2个settings.xml的<localRepository>节点注释掉吧!不写的话,仓库就默认定位到~/.m2里了,缺点是无法自定义仓库地址了。

顺便做个将公司代码带回家遇到问题的总结:

1,最好将maven_home/conf 和 本地仓库的 settings.xml保证一样,因为,至少我遇到了maven2种插件,有的以maven_home/conf 的settings.xml为准,有的以本地仓库的为准。

2,如果公司有自己的maven私服的话,jar包的pom里的地址是指向私服地址的。所以必须吧公司的settings.xml给拷回来,主要是为了配置原来公司私服的profile地址,以免从公司拷过来的jar包因为没有其源地址而造成eclipse对明明存于仓库的jar包而报missing artifact 的错误。 这种jar包的本地仓库一般会有m2e-lastUpdated.properties 这种文件,以证明此jar包来自私服。。

发现一篇很好的Maven入门文章:

http://www.blogjava.net/jiangshachina/archive/2006/09/01/67080.html 

免责声明:文章转载自《Mac 10.7 使用Maven 小记》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇h5 float布局winform程序 实现类似 qq 消息提醒功能实现下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

js获取mac地址(续)

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><...

VMware Workstation中虚拟机的克隆

1 克隆虚拟机 首先需要准备好一个安装好的系统,这里以linux为例进行演示。  在需要克隆的机器上右键选择管理==》克隆  选择需要克隆的虚拟机的状态,如果你想要的就是当前的状态,就直接选择虚拟机中的当前状态。 如果虚拟机有快照,也可以先回退到一个指定的版本,然后执行克隆。 选择克隆的类型,推荐完整克隆,可以完全独立运行。如果磁盘很少,就选择链接...

解决mac上mysql莫名其妙的启动不了

在OS X环境下MySQL启动时报错: 1 2 016-03-03T00:02:30.483037Z 0 [ERROR] InnoDB: Unable tolock ./ibdata1 error: 35 2016-03-03T00:02:30.483100Z 0 [Note] InnoDB: Checkthat you do notalre...

GitHub 实现多人协同提交代码并且权限分组管理

前言: 在上一篇文章中Android github 快速实现多人协作(http://www.cnblogs.com/zhaoyanjun/p/5829142.html)介绍了如何快速的实现多人协作的功能。 其优点是:操作简单,快速上手。缺点是:没有办法实现权限控制。为啥要权限控制?这是一个蛋疼的问题,因为我们为了项目的安全考虑,需要对一部分人开放只读权限(...

maven&amp;amp;nexus_repository 私库搭建与使用

一、nexus仓库安装 1,http://www.sonatype.org/nexus/    下载sso版本,免费2,tar -zxvf nexus-2.11.1-01-bundle.tar.gz3,修改端口号    /conf/nexus.properties文件     application-port属性值设置端口号4,默认端口8081,http:...

用C#获取硬盘序列号,CPU序列号,网卡MAC地址

        private string[] GetMoc()        {            string[] str = new string[3];            ManagementClass mcCpu = new ManagementClass("win32_Processor");            Manageme...