您的位置:首页 > 编程语言 > Java开发

eclipse 中使用 maven 常见问题解决

2016-11-13 00:00 435 查看
首先, 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 即可
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐