Maven 使用问题解决 一

在使用maven中出现了两个问题:

1.指定源文件编码,避免插件输出乱码问题

http://docs.codehaus.org/display/MAVENUSER/POM+Element+for+Source+File+Encoding这个地址有详细的说明;

Adding this element to the POM structure can only happen in Maven 3.x (tracked with MNG-2216 issue):

 

<sourceEncoding> UTF-8</sourceEncoding>

For Maven 2.x, the value can be defined as an equivalent property

  <project.build.sourceEncoding>

UTF-8</project.build.sourceEncoding>



2.恼人的软件包 xxxx 不存在问题;

首先是怀疑依赖冲突问题;

http://wolfchina.javaeye.com/blog/239934按这个说法,试了试,没有发现有什么异常;

首先,你要在pom.xml中加上maven-project-info-reports-plugin插件。

<reporting>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-project-info-reports-plugin</artifactId>
</plugin>
</plugins>
</reporting>

 

然后再执行:mvn project-info-reports:dependencies 。生成项目依赖的报表,这样你就能够在报表中找出你版本冲突的相关性依赖了。

最后在相应的dependency中加上exclusions来排除相关的传递依赖。

在执行这个的过程中,出现了outofmemoryerror,设置这个环境变量MAVEN_OPTS=-Xmx512M -XX:MaxPermSize=128M -Dfile.encoding=UTF-8

另外,也可以使用mvn dependency:tree

搞了半天,核对了一下,没有什么异常情况;

问题解决:

真正的问题居然是

<dependency>
<groupId>org.apache.velocity</groupId>
<artifactId>velocity</artifactId>
<version>1.6</version>
<scope>runtime</scope>
</dependency>

请仔细的看,<scope>runtime</scope>在这里,你会发现classpath里也有,用eclipse,或者javac都可以编译通过,但是mvn在编译的时候,会把所有runtime的都排除到classpath外,所以会报错,其实那个mvn guide里写的很清楚,只是没有注意;困扰了很久,终于解决了;

3.mvn m2eclipse使用的maven究竟是哪个版本?

在m2eclipse的faq里写的很清楚,是emedd的maven,我的是maven3,所以,有时候手工能跑的通,但是使用插件却跑不通,多半是这个原因;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值