首先来说说这个,其实Maven自己并不是第一天才开始,只是想借此来真正的学得深入一点点,当然,并不是那些高人那样深入的了解掌握,毕竟自己有很多限制,只能在自己的能力所及的范围内来表达了吧,期间可能会有很多弯路和不如意的地方,这个自己摸索在所难免。好了,开始了。
自己没有遇到之前,真的是不知道问题这么多。最近想学习Maven,一是空下来了。二是由于本来也想学点东西,先安下心来学习东西了。
首先是环境:
就跟我们搞开发一样,第一环境一定要一致,编码UTF-8?编译环境都是统一的JDK?还是什么?这个是必须的,你不保证你的环境(几乎是你想到的环境和想不到的环境)情况是否一致,就可能会出现相当的问题,如果你写了一个Hello World,也许不同地方,运行都会给你意想不到的问题,所以环境一定要一致,以下不做各种情况的模拟说法了,请各位揣摩就是了。比如什么不一样的IDE工具,什么多个JDK版本等,这个。。。。。四个字,一致就好。
总结1:确保你的Eclipse或MyEclipse和你的系统的环境变量JDK是一致的,
下面是我出的一个小插曲,有可能你会遇到。
以前就是明了要编码一致从而解决一些前后台通信间的编码问题,尽量是的Java,JSP,JS等的编码都用UTF-8或者GBK。现在就连基本的,环境一致都搞忘记了。
《Maven实战》作者不是提到了Maven版本的一致,就是工具的Maven和环境中装的Maven一致性,而这里,就连基本的Java环境都没有调节一致,所以导致了当前的结果,还是得多理解提示啊,仔细的韵味一下,还是比较清楚的知道的。
MyEclipse,Eclipse等出现这样的问题:Unable to locate the Javac Compiler,首先看Java环境是否一致,尽量都用环境变量中的JDK,这样也统一了。
其次:
插件的问题,
有的说用http://m2eclipse.sonatype.org/sites/m2e
或者是用http://download.eclipse.org/technology/m2e/updates/N
。。。或其他的。。。。
你如果在你的pom.xml当中,写的一些代码遇到错误,请不要怀疑,肯定是有问题的,有可能不是网上的引起的,有可能不是你所造成的。而是插件识别问题。
总结:用什么插件一定要知道,他们可能是同样的名称,但是不一定是同样的所有效果。所以才会导致那样的问题。
下面也是自己的一段插曲:
代码:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<version>2.2</version>
<executions>
<execution>
<id>copy-dependencies</id>
<phase>install</phase>
<goals>
<goal>copy-dependencies</goal>
</goals>
<configuration>
<outputDirectory>${project.build.directory}/lib</outputDirectory>
<overWriteReleases>false</overWriteReleases>
<overWriteSnapshots>false</overWriteSnapshots>
<overWriteIfNewer>true</overWriteIfNewer>
</configuration>
</execution>
</executions>
</plugin>
提示:
maven-dependency-plugin (goals "copy-dependencies", "unpack") is not supported by m2e.
我用的两个eclipse,这个是由于用了M2E造成的,而在m2eclipse下就没有这个问题。当然,你可以用其他的打包插件,这个不是必须要用这个,所以,只是自己知道原因和解决就可以了。不一定是要换环境解决,你可以换一个plugin也可以。