maven

使用myeclipse+maven2已经有快一年的时间了,因为平时使用maven2的功能也不多,主要是用于对包的管理,感觉使用起为挺方便的。于是打算在马上要开发的项目中也使用mavan2来做包管理,并下载了myeclipse6.5,但自从使用6.5后就出现了很多问题,因为myeclipse从6.5开始就集成了m4eclipse,而m4eclipse的Bug超多,用起来也不爽,于是就从网上打了一些资料把m4eclipse给删除了,实际上要删除m4eclipse还是比较简单的,只要删除MyEclipse安装目录下myeclipse/eclipse/features和myeclipse/eclipse/plugins这两个目录下与maven相关的文件,也就是文件名中带有maven的文件和文件夹。即可,然后通过http://m2eclipse.sonatype.org/update/安装m2eclipse插件就可以重新正常使用Maven了。

        在使用myeclipse 6.5+mavan的过程中出现了一个比较严重的问题,那就是我的一个web项目使用maven后,原有的src资源文件夹中的包就会自动释放成单个的文件夹,将不再包括在src资源文件夹中,src资源文件夹也将不复存在,这样一来项目就不能使用了,编译过的class文件也只能放在target\test-classes目录下,而不能放到WebRoot\WEB-INF\classes目录下,而实际上target\test-classes目录应该是保存测试的目录。我以为这个问题应该是因为包丢失了资源路径造成的,于是我把所有的包文件都重新使用资源文件夹,但结果还是一样。这个问题让我相当的不解,在网上查了很久,也没有找到很好的解决方案,只是有提到是这是由于myeclipse和m2eclipse发布路径相冲突造成的,也没有相关的资料,只能自己动手解决这个问题了,于是乎对m2eclipse的发布路径做了相关的修改。修改方式就是在pom.xml文件中添加如下配制:

<build>
  <sourceDirectory>src/pemap</sourceDirectory>
  <outputDirectory>WebRoot/WEB-INF/classes</outputDirectory>
  <testSourceDirectory>src/test</testSourceDirectory>
  <testOutputDirectory>target/test-classes</testOutputDirectory>
  <plugins>
   <plugin>
    <artifactId>maven-compiler-plugin</artifactId>
    <configuration>
     <source>1.5</source>
     <target>1.5</target>
     <encoding>UTF-8</encoding>
    </configuration>
   </plugin>
  </plugins>
</build>

也就是说把资料文件夹下pemap这个包中的类都编译到WebRoot/WEB-INF/classes文件夹下,而test包中的类都编译到target/test-classes文件夹下,这种思路是正确的,也正是m2eclipse的配置,但结果还是没有达到预期的目标。这让我郁闷了好几天,在修改以前开发的项目的时候也只是放弃了maven2,增加了大量有工作量,也没有想到解决方案。但在无意间查看我们项目经理的项目的时候,却发现了问题的所在。原来问题的所在就是在启用m2eclipse后,必须要重新新建资源文件夹,然后把所有的包都放到新建的资源文件夹下,而不是对包使用资源路径,简单一句话就是在启用m2eclipse后要重新新src资源文件夹,因为myeclipse创建的已经不存在了,然后在新建的资源文件目录下创建包和文件,这样问题就解决了。

你可能感兴趣的:(maven)