eclipse里面调试maven插件

来源:互联网 发布:软件需求分析推荐 编辑:程序博客网 时间:2024/04/28 04:27

某日,在执行maven打包的时候,报错了

java.lang.IllegalArgumentException: The header cannot be an empty string.at org.apache.felix.utils.manifest.Parser.parseHeader(Parser.java:37)at org.apache.felix.bundleplugin.BlueprintPlugin.analyzeJar(BlueprintPlugin.java:139)at aQute.bnd.osgi.Analyzer.doPlugins(Analyzer.java:588)at aQute.bnd.osgi.Analyzer.analyze(Analyzer.java:171)at aQute.bnd.osgi.Builder.analyze(Builder.java:352)

看了许久,没有找到是哪里的错误,所以,决定调试该插件

首先,在pom.xml里面配置该插件的依赖(我用的是maven-bundle-plugin插件)

<dependency><groupId>org.apache.felix</groupId><artifactId>maven-bundle-plugin</artifactId><version>2.5.4</version></dependency>

这样的话,就可以在项目里面把该插件的源码下载下来

上面已经提示了,

at org.apache.felix.bundleplugin.BlueprintPlugin.analyzeJar(BlueprintPlugin.java:139)

里面有问题,那就在eclipse打开源码,在上面139行打个断点


二:配置eclipse远程调试


注意这里面的端口,要和下面的保持一致


三:运行

set MAVEN_OPTS=-Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,address=8787,suspend=y,server=ymvn clean package

执行之后,maven暂停执行,等待客户端连接了,然后,在eclipse里面启动上一步创建好的debug配置,并且连接上8787端口

然后,maven就会继续往下执行,就会进入到第一步打的断点中去了,就可以调试了。

7 0
原创粉丝点击