不知道各位是怎么学习maven的,我应该说是今天才开始学用Maven的,在学的过程中发现了中文消息显示问题(消息显示为???)和无法下载以及编译慢的问题,我觉得如果大家多在网上查查的话,根本就不能说是问题。下面我就说说怎么解决好了
1、执行时提示为???的问题
这个问题其实也就是中文问题,在Maven 1.0中其实已经将黄东的汉化版融入进去了,只是在融入中文的时候有一个小的失误。大家到%HAVEN_HOME%\lib目录下着到maven.jar文件,在这个压缩文件中的“org\apache\maven\messages”下有一个messages_zh_CN.properties中文消息文件,这个文件本身应该是为ASCII编码格式,但是在1.0中错误的存储为UFT-8格式。我们可以把这个文件解压出来让后用JDK自带的native2ascii.exe将其转换为ASCII格式后再加到maven.jar中。这样中文消息的问题就解决了!
2、关于无法连接到远程repository库进行下载和编译速度慢的问题。
在默认的情况下Maven的远程库为ibibio这个网站,不知道为什么这个网站在中国被封掉了!所有无法下载,不过我们可以通过修改每个项目中的project.properties文件,在其中加入这样一行maven.repo.remote = http://public.planetmirror.com/pub/maven,这样就代表这个项目中的远程库可以到public.planetmirror.com/pub/maven这个地方下载。当然如果我们不想每个项目都更改的话,可以直接修改maven.jar中的defaults.properties文件,将其修改为上面这样。
同时对于在一个公司内的开发,我们没有必要每个开发人员都到外网上下载,我们建立一个repository远程库网站就可以了,比如如果我们用Window IIS的话,我们只需要在我们的将建立一个web目录,将我们下载好的Repository文件夹下的所有的目录拷贝到这个web目录就好了。如我们建立的这个web目录对应的IIS虚拟目录为http://192.168.1.1/Maven/Reppository,那么我们只需要将开发人员的maven.repo.remote设置为http://192.168.1.1/Maven/Reppository就好了,这样我们一来是统一了我们的jar版本,二来我们开发人员在下载所需要的文件也就快多了。
同时对应在编译速度慢还有一个原因是,在第一次编译时需要下载,同时,我们在编译的过程中需要检查jar的版本,对于下载jar,这个动作只是在第一次的时候会执行,在后面的时候Maven只会检查是否有最新版本的jar,如果有才会下载。我想检查jar版本对于一个团队的开发是必要的吧!
写到最后
最后还想说的是,希望各位以后在学习的时候还是认真点吧!我今天在Google上搜索了解决这些问题的办法的时候,搜索出来的大部分都是说Maven有这些问题,而没有说怎么解决,我想如果大家都仔细点,不要什么问题不认真的看看就只是发牢骚而就此作罢。本身作为开源项目对于我们来说有两个层面的作用,一来我们可以拿过来使用,以提高我们的开发效率。二来更是我们可以学习,我们可以打开源代码来学学别人是怎么实现的,别人是怎么写程序的。这样在我们遇到问题的时候,我们也才能更好的知道问题的所在,当然对于实际中,我们不需要将我们所要用的开源项目的源代码看从头到尾看一遍,大部分时候来说更据兴趣和为了解决在使用开源项目中发现的Bug就够了,当你看的程序多了,你会发现,我们在使用很多开源项目中所出现的问题很多都是类似的,如在使用Maven的中文问题,其实它就是很多开源项目在Java国际化中出现的问题。我们看了Maven的这个解决办法,那么如果我们在以后使用其他开源项目中出现问题的时候,我们只需要把问题定位到这个范围就好了。
今天在Google找这个解决办法的时候看了很多大家对maven的评论,心中有些生气,觉得没几个人能认真点来解决问题,打部分都是简单一用,只能说现在中国的IT行业中的很大的一部分人真的没有踏实的精神!