eclipse 中使用 maven 常见问题解决

首先, maven 3.3及以上版本,需要JDK 1.7版本以上的。所以确保项目 使用的JDK是 jdk1.7版本以上的。否则出现什么不兼容的也不好。

1,

An alternative if jaipster's answer does not work is to go to:
Window > Preferences > Java > Installed JREs

Then to edit the jre so that it points to the jdk and not the jre (the jre home filed in the jre package editor)

That worked for me.

maven 在eclipse 中不能打包的 情况 解决:No compiler is provided in this environment. Perhaps you are running on a JRE rather than a JDK?
首先在 eclipse里面  Windows -- 将 intstalled JRES 的 路径指向JDK的安装路径 ,而不是 jre的路径 ,然后 右击项目 在 Properties 里面 将
Java cmpile 改为对应系统 的jdk版本 ,Java build path 该为默认的jre 也就是指向 jdk 路径的那个

经过测试 项目里面 的 Properties 都可以不用修改,只要修改默认 的  jre 指向 jdk的路径就可以了

项目使用的JDK版本是 1.7以上的,不是的话,换过了, maven--  Update project--即可。

,2,

当我们对项目进行打包的时候,经常容易出现问题。

首先确保 maven clean  能够没有问题,一般是没有问题的啦。

比如, maven install 的问题:

Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:2.12.4:
 test (default-test) on project project_om: Execution default-test of goal 
 org.apache.maven.plugins:maven-surefire-plugin:2.12.4:test failed: Plugin org.apache.maven.plugins:maven-surefire-plugin:2.12.4 
 or one of its dependencies could not be resolved: Failed to collect dependencies at org.apache.maven.plugins:maven-surefire-plugin:jar:2.12.4 
 -> org.apache.maven.surefire:surefire-booter:jar:2.12.4: Failed to read artifact 
 descriptor for org.apache.maven.surefire:surefire-booter:jar:2.12.4: Could not 
 transfer artifact org.apache.maven.surefire:surefire-booter:pom:2.12.4 from/to 
 central (https://repo.maven.apache.org/maven2): RSA premaster secret 
 error: SunTls12RsaPremasterSecret KeyGenerator not available -> [Help 1]
[ERROR] 
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
刚开始的时候,我也是 百度一通,一般百度不出来,问题解决办法也不对口。

我们认真看看 错误日志即可。这里说  比如 maven-surefire-plugin:jar:2.12.4

和 surefire-booter:jar:2.12.4 包

 这个 jar的问题。

去后台maven 仓库看看,果然这个jar包没有 下载成功。所以打包不通过。那么我们去网上 找到 这个 jar的 maven 导入 方式。 将 这个 jar 包 引入方式, 放入  项目 pom.xml  ,比如:

<dependency>
    <groupId>org.apache.maven.surefire</groupId>
    <artifactId>surefire-booter</artifactId>
    <version>2.12.4</version>
</dependency>

让其下载成功。如果发现还是没有下载成功,或者是下载太慢,我们可以去网上手动下载好 jar包,丢进去 maven 仓库里面,然后 maven--  Update project--即可。 接着 继续 maven install 这时候可能会出现错误,错误:  xxx.jar 的问题,同样的原里,把他们都 引入 pom.xml  下载到 maven仓库里面 ,一直到把相关的jar包引入即可。

也就是说 maven install 有可能不会帮我们把一些依赖的 jar包给我们下载下来,或者它下载了没有下载成功。导致的jar包不全,引起的问题。最好问题完美解决。

 

3,

比如如果我们打包的时候 出现  

比如 http://10.10.99.112:8081/nexus/ reduce  connection   拒绝连接什么的,

那么就是网络问题了。比如 一些公司就有自己的 maven 私库, 再 setting.xml 或者项目 pom.xml 配置文件 配置了 私库的地址 ,那么 出现  打包的时候,下载  连接 jar 包, 拒绝连接 xxx地址的时候,就是 说明 你的 私库 地址错了, 或者是  你的电脑没有 访问 改私库地址的权限。

对于私库 我们可以 在 浏览器 里面 输入 地址 比如 : http://10.10.99.112:8081/nexus/ 去 查看私库里面的 jar包的情况的.

4,

Failed to execute goal on project crm: Could not resolve dependencies for project
 com.skg.crm:crm:war:1.0.0: Failure to find com.skg.crm:wechat-biz:jar:1.0.0 in 
 http://10.10.99.112:8081/nexus/content/groups/public/ was cached in the local
 repository, resolution will not be reattempted until the update interval of nexus has elapsed or updates
 are forced -> [Help 1]
[ERROR] 

这个意思是 ,在 公司的 maven  私库 里面 并没有 wechat-biz:jar 包了,删掉了
但是目前项目的 pom.xml   里面有引用到的 。

改过来 去掉 依赖 包  或者是  从以前的代码里面  install  打包一份 对应项目的 jar  放入你本地的  maven  仓库 就好了,然后 maven -Update project  

 

5, 

如果maven 的项目pom.xml出现 Missing artifact xxx.jar  出现了问题,那么可以去到对于的maven 的jar 的仓库里面,
将对应的包 的其他文件给删除,比如删除 Update  xxx 文件这些之类的,然后 Upadate maven project 即可

 

转载于:https://my.oschina.net/ouminzy/blog/786929

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值