maven的eclipse插件运行不正常如何解决

最近重新开始搞java源代码的分析工具,其中用到了eclipse的jdt来直接分析java源代码。用maven添加了org.eclipse.jdt.core包之后,发现代码写完之后不能运行,有一些依赖无法找到。搜索了下貌似是因为从maven中央仓库下载的jdt和其依赖包都有小版本号,导致maven的依赖管理找不到这写包了(都不知道为什么能够下载下来,却不能加入到依赖中)。具体情况的描述,和这里的相同。

找了半天,发现maven的eclipse有个很强大的功能,就是把eclipse目录中的插件都安装到maven的本地仓库,先用这个方法解决了maven依赖找不到的情况,具体命令如下:

mvn eclipse:make-artifacts -DstripQualifier=true -DeclipseDir=PATH_TO_ECLIPSE

同这样的方法,把jdt3.6(eclipse helios使用的)安装到了本地,然后在工程的pom.xml中改成这个依赖,其中的 -DstripQualifier=true 就是为了在安装到本地仓库的时候去处后面 v 开头的小版本号。

用了这个方法,在命令行中已经可以用mvn命令进行打包了,但是又发现了一个问题,在eclipse中调试的时候,eclipse中的maven插件,虽然用了本地安装的jdt core,但后面的依赖解析仍然用的是带小版本号的jar包,还自动去maven官方的远程仓库里面进行了下载。但是,悲剧的事情是这些jar包没有通过数字验证(应该不会是下载出错),在执行的时候,会抛出java.lang.SecurityException: Invalid signature file digest for Manifest main attributes这样的异常。在命令行里面用:jarsigner -verify xxx.jar

进行了验证,果然都是无法不能通过验证的,而本地安装的jar包验证都是通过的。先用最简单的方法,就是用本地的不带小版本号的jar包替换,但是这样在eclipse中执行还是有问题,最后查了下maven的dependency插件,利用这个插件的拷贝依赖的功能才手工解决了这个问题。过程如下:

    在工程目录下再建立一个lib文件夹
    使用:mvn dependency:copy-dependencies -DoutputDirectory=lib 命令将所有的依赖复制到lib目录中
    在eclipse中,将maven管理的依赖全部删除,手工添加lib目录中的所有jar包

通过这个过程可以发现,直接使用mvn命令复制出来的jar包,都是本地安装的无小版本号的,说明eclipse中的maven插件还是有点问题的。

当然,如果紧紧是想执行工程中的main方法,也可以使用:mvn dependency:build-classpath,将当前依赖的jar包所在的目录全部列出来,然后使用java命令将刚才的这些jar包设置为classpath就可以了。

时间: 2024-10-02 13:42:13

maven的eclipse插件运行不正常如何解决的相关文章

eclipse插件-运行Eclipe插件的时候打不开摄像头

问题描述 运行Eclipe插件的时候打不开摄像头 最近我在弄一个在Eclipe 插件中实现视频通信的项目..视频通信在插件外运行正常,可是整合到插件中,电脑的摄像头打不开,不能把数据发送给对方,但是在插件外运行发送端,对面就可以收到..我是用JMF和FMJ写的

【转载】 Eclipse 插件Maven在使用 add dependency,找不到包,解决办法

通过右键单击pom.xml文件选择maven –> add dependency 或者是打开pom.xml文件,选择dependencies –>add 时,搜索不到依赖的jar包,解决方法如下: 1.eclipse菜单 window-> show view –> other –> Maven 2.在打开的窗口里,右键 local repositories –> local repository ,选择 rebuild index 转自:http://www.cnblo

1.Maven+SpringMVC+Eclipse软件安装配置,Maven报插件错误,Eclipse总是卡死的解决办法,导入一个maven工程后 一直显示importing maven project

 使用Maven+SpringMVC+Eclipse软件安装配置过程中的问题:   1.Eclipse总是卡死的解决办法: 一:内存不足所以会卡死,配置一下eclipse.ini修改这几个值就好了-XX:MaxPermSize=768m-Xms1024m-Xmx3072m搜索   二:修改window->preferences --- > JAVA->Edittor->Hovers,将右侧所有复选框清空.   2.因为eclipse上一次未正常关闭,导致启动卡死,错误日志为:

eclipse搭建maven环境-Eclipse搭建Maven时,用本地Maven环境好 还是 安装Maven插件好?

问题描述 Eclipse搭建Maven时,用本地Maven环境好 还是 安装Maven插件好? 刚开始搭建Maven,环境搭建中有个问题, 1.我自己下载Maven包在本地搭建环境,再在Eclipse上去配置路径,然后开发项目. 2.Eclipse安装Maven插件,然后开发项目. 请问上面两种方式哪个更好? 解决方案 Maven环境搭建以及eclipse-maven3-plugin插件安装Maven环境的搭建&&Maven Eclipse插件的安装eclipse安装maven插件 解决方

《maven实战》学习笔记2——maven安装(windows和eclipse插件)

前言 由于我的工作中开发环境就是windows,IDE是eclipse,因此安装也只涉及和记录这两部分,在看书和动手的过程也就直接跳过其他部分. 笔记 windows中maven的安装 安装条件 maven依赖于java,因此安装和使用maven,要先确保已安装了jdk并配置好jdk的环境变量. 检查jdk是否安装并配好环境变量,可以再windows的cmd窗口执行java -version查看,如果如下所示,则证明jdk安装和配置正确. C:\Users\tzx>java -version j

25 个让 Java 程序员更高效的 Eclipse 插件

原文:http://www.oschina.net/news/27773/25-best-free-eclipse-plug-ins-for-java?from=20120416 Eclipse提供了一个可扩展插件的开发系统.这就使得Eclipse在运行系统之上可以实现各种功能.这些插件也不同于其他的应用(插件的功能 是最难用代码实现的).拥有合适的Eclipse插件是非常重要的,因为它们能让Java开发者们无缝的开发基于J2EE和服务的应用程序. Eclipse的插件也能帮助他们开发不同应用架

25个最好的免费Eclipse插件_java

Eclipse提供了一个可扩展插件的开发系统.这就使得Eclipse在运行系统之上可以实现各种功能.这些插件也不同于其他的应用(插件的功能是最难用代码实现的).拥有合适的Eclipse插件是非常重要的,因为它们能让Java开发者们无缝的开发基于J2EE和服务的应用程序.Eclipse的插件也能帮助他们开发不同应用架构上的程序. 下面列出来的是25个最好的免费Eclipse插件,可以让开发者更高效的工作 . 提高代码质量的插件 1. FindBugs FindBugs可以帮你找到Java代码中的b

Maven 集成Tomcat插件

国内私募机构九鼎控股打造APP,来就送 20元现金领取地址:http://jdb.jiudingcapital.com/phone.html内部邀请码:C8E245J (不写邀请码,没有现金送)国内私募机构九鼎控股打造,九鼎投资是在全国股份转让系统挂牌的公众公司,股票代码为430719,为"中国PE第一股",市值超1000亿元.  ------------------------------------------------------------------------------

Maven 使用Eclipse构建Web项目

使用Maven构建Web项目(Eclipse) 1:打开Eclipse 2:创建Maven项目,选择archetype-webapp模板 3:解决Servlet没有生命依赖的问题,在pom.xml中添加servlet的依赖,可以去中央仓库选择servlet版本 例如: <dependency> <groupId>javax.servlet</groupId> <artifactId>javax.servlet-api</artifactId> &