- 浏览: 981388 次
文章分类
- 全部博客 (428)
- Hadoop (2)
- HBase (1)
- ELK (1)
- ActiveMQ (13)
- Kafka (5)
- Redis (14)
- Dubbo (1)
- Memcached (5)
- Netty (56)
- Mina (34)
- NIO (51)
- JUC (53)
- Spring (13)
- Mybatis (17)
- MySQL (21)
- JDBC (12)
- C3P0 (5)
- Tomcat (13)
- SLF4J-log4j (9)
- P6Spy (4)
- Quartz (12)
- Zabbix (7)
- JAVA (9)
- Linux (15)
- HTML (9)
- Lucene (0)
- JS (2)
- WebService (1)
- Maven (4)
- Oracle&MSSQL (14)
- iText (11)
- Development Tools (8)
- UTILS (4)
- LIFE (8)
最新评论
-
Donald_Draper:
Donald_Draper 写道刘落落cici 写道能给我发一 ...
DatagramChannelImpl 解析三(多播) -
Donald_Draper:
刘落落cici 写道能给我发一份这个类的源码吗Datagram ...
DatagramChannelImpl 解析三(多播) -
lyfyouyun:
请问楼主,执行消息发送的时候,报错:Transport sch ...
ActiveMQ连接工厂、连接详解 -
ezlhq:
关于 PollArrayWrapper 状态含义猜测:参考 S ...
WindowsSelectorImpl解析一(FdMap,PollArrayWrapper) -
flyfeifei66:
打算使用xmemcache作为memcache的客户端,由于x ...
Memcached分布式客户端(Xmemcached)
Maven学习记录3——创建、编译、打包、运行项目 :http://blog.csdn.net/yaya1943/article/details/48464371
使用maven编译Java项目:http://www.tuicool.com/articles/YfIfIrq
netty github 导入 Eclipse:http://www.th7.cn/Program/java/201502/389732.shtml
netty源码编译环境搭建 :http://blog.csdn.net/wuyinxian/article/details/46382051
Plugin error: execution not covered by lifecycle configuration:
https://stackoverflow.com/questions/7391201/plugin-error-execution-not-covered-by-lifecycle-configuration
Execution Not Covered:http://www.eclipse.org/m2e/documentation/m2e-execution-not-covered.html
netty项目github地址:https://github.com/netty/netty.git
由于netty项目在github中,没有.project和.classpath文件,所以不能够直接转换为eclipse工程Maven项目,要手动去编译,具体可参考netty源码编译环境搭建和netty github导入Eclipse这两篇文章。
我们总结一下从github检出netty项目,编译maven项目,主要遇到的问题:
1.Failure to transfer io.netty:netty-tcnative:jar:${tcnative.classifier}:2.0.3.Final
这个问题主要是tcnative jar在netty-parent:
的POM中定义了如下片段:
根据操作系统探测tcnative的classifier,我们只需要将上面这句话注释掉如下:
同时在相应子模块项目中,tcnative包依赖中将:
改为:
这里我们是以netty-handler子模块为例:
2.Plugin execution not covered by lifecycle configuration:
org.codehaus.mojo:build-helper-maven-plugin:1.10:add-source
(execution: add-source, phase: generate-sources)
这个问题主要是执行不能被声明周期配置覆盖导致,我们以netty-common子模块为例:
groupId为org.codehaus.mojo,artifactId为build-helper-maven-plugin的add-source执行不行被生命周期覆盖,解决方式,在pom文件的build标签下加入pluginManagement对应的片段:
还有一种方式为配置Maven -> Lifecycle mapping->lifecycle-mapping-metadata.xml ,
官方显示这种方法针对Eclipse 4.2,具体配置在Windows -> Preferences -> Maven -> Lifecycle mapping ,文件(eclipse/plugins/org.eclipse.m2e.lifecyclemapping.defaults_1.2.0.20120903-1050.jar/lifecycle-mapping-metadata.xml)内容如下:
注意:pluginExecutionFilter中的groupId,artifactId,goal的对应关系。
在配置完后记得要重新加载。如果你有多个Eclipse工作空间或者为一个团队项目,强烈建立使用配置POM文件的方式,,即第一种方式。
然后更新项目模块(maven-》update勾选force online update)。
如果还有问题,看看是不是JRE的原因(JRE6-8),一般为JRE7,
如果项目没有maven依赖包(Maven Dependencies),查看项目的.class
和.project文件
.class文件是否包含如下信息:
不包括,则添加上,不同,则修改。
.project文件是否为如下:
对于没有含有项,则添加上,不同,则修改。
最后,记得刷新工作空间项目。
使用maven编译Java项目:http://www.tuicool.com/articles/YfIfIrq
netty github 导入 Eclipse:http://www.th7.cn/Program/java/201502/389732.shtml
netty源码编译环境搭建 :http://blog.csdn.net/wuyinxian/article/details/46382051
Plugin error: execution not covered by lifecycle configuration:
https://stackoverflow.com/questions/7391201/plugin-error-execution-not-covered-by-lifecycle-configuration
Execution Not Covered:http://www.eclipse.org/m2e/documentation/m2e-execution-not-covered.html
netty项目github地址:https://github.com/netty/netty.git
由于netty项目在github中,没有.project和.classpath文件,所以不能够直接转换为eclipse工程Maven项目,要手动去编译,具体可参考netty源码编译环境搭建和netty github导入Eclipse这两篇文章。
我们总结一下从github检出netty项目,编译maven项目,主要遇到的问题:
1.Failure to transfer io.netty:netty-tcnative:jar:${tcnative.classifier}:2.0.3.Final
这个问题主要是tcnative jar在netty-parent:
<groupId>io.netty</groupId> <artifactId>netty-parent</artifactId> <packaging>pom</packaging> <version>4.1.13.Final-SNAPSHOT</version>
的POM中定义了如下片段:
<tcnative.artifactId>netty-tcnative</tcnative.artifactId> <tcnative.version>2.0.3.Final</tcnative.version> <tcnative.classifier>${os.detected.classifier}</tcnative.classifier>
根据操作系统探测tcnative的classifier,我们只需要将上面这句话注释掉如下:
<!-- <tcnative.classifier>${os.detected.classifier}</tcnative.classifier> -->
同时在相应子模块项目中,tcnative包依赖中将:
<dependency> <groupId>${project.groupId}</groupId> <artifactId>${tcnative.artifactId}</artifactId> <classifier>${tcnative.classifier}</classifier> <optional>true</optional> </dependency>
改为:
<dependency> <groupId>${project.groupId}</groupId> <artifactId>${tcnative.artifactId}</artifactId> <!-- <classifier>${tcnative.classifier}</classifier> --> <version>${tcnative.version}</version> <optional>true</optional> </dependency>
这里我们是以netty-handler子模块为例:
<parent> <groupId>io.netty</groupId> <artifactId>netty-parent</artifactId> <version>4.1.13.Final-SNAPSHOT</version> </parent> <artifactId>netty-handler</artifactId> <packaging>jar</packaging>
2.Plugin execution not covered by lifecycle configuration:
org.codehaus.mojo:build-helper-maven-plugin:1.10:add-source
(execution: add-source, phase: generate-sources)
这个问题主要是执行不能被声明周期配置覆盖导致,我们以netty-common子模块为例:
<plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>build-helper-maven-plugin</artifactId> <version>1.10</version> <executions> <execution> <id>add-source</id> <phase>generate-sources</phase> <goals> <goal>add-source</goal> </goals> <configuration> <sources> <source>${collection.src.dir}</source> </sources> </configuration> </execution> </plugin>
groupId为org.codehaus.mojo,artifactId为build-helper-maven-plugin的add-source执行不行被生命周期覆盖,解决方式,在pom文件的build标签下加入pluginManagement对应的片段:
<build> <pluginManagement> <plugins> <plugin> <groupId>org.eclipse.m2e</groupId> <artifactId>lifecycle-mapping</artifactId> <version>1.0.0</version> <configuration> <lifecycleMappingMetadata> <pluginExecutions> <!-- plugin执行器过滤器 --> <pluginExecution> <!-- plugin执行器过滤器 --> <pluginExecutionFilter> <!-- 这里的groupId和artifactId和上面的相对应 --> <groupId>org.codehaus.mojo</groupId> <artifactId>build-helper-maven-plugin</artifactId> <!-- 版本大于等于1.0.0 --> <versionRange>[1.0.0,)</versionRange> <goals> <!-- 目标与上面对应者execution goals中goal --> <goal>add-source</goal> <goal>add-test-source</goal> </goals> </pluginExecutionFilter> <!-- plugin执行器忽略 groupId,artifactId 对应的goals中goal --> <action> <!--忽略执行 --> <ignore/> </action> </pluginExecution> <!-- plugin执行器过滤器 --> <pluginExecution> <!-- plugin执行器过滤器 --> <pluginExecutionFilter> <groupId>org.codehaus.mojo</groupId> <artifactId>xml-maven-plugin</artifactId> <versionRange>[1.0.0,)</versionRange> <goals> <goal>parse-version</goal> <goal>check-style</goal> </goals> </pluginExecutionFilter> <!-- plugin执行器忽略 groupId,artifactId 对应的goals中goal --> <action> <ignore/> </action> </pluginExecution> <!-- plugin执行器过滤器 --> <pluginExecution> <!-- plugin执行器过滤器 --> <pluginExecutionFilter> <groupId>org.codehaus.gmaven</groupId> <artifactId>groovy-maven-plugin</artifactId> <versionRange>[1.0.0,)</versionRange> <goals> <goal>execute</goal> </goals> </pluginExecutionFilter> <!-- plugin执行器忽略 groupId,artifactId 对应的goals中goal --> <action> <ignore/> </action> </pluginExecution> </pluginExecutions> </lifecycleMappingMetadata> </configuration> </plugin> </plugins> </pluginManagement> </build>
还有一种方式为配置Maven -> Lifecycle mapping->lifecycle-mapping-metadata.xml ,
官方显示这种方法针对Eclipse 4.2,具体配置在Windows -> Preferences -> Maven -> Lifecycle mapping ,文件(eclipse/plugins/org.eclipse.m2e.lifecyclemapping.defaults_1.2.0.20120903-1050.jar/lifecycle-mapping-metadata.xml)内容如下:
<?xml version="1.0" encoding="UTF-8"?> <lifecycleMappingMetadata> <pluginExecutions> <pluginExecution> <pluginExecutionFilter> <groupId>org.codehaus.mojo</groupId> <artifactId>buildnumber-maven-plugin</artifactId> <goals> <goal>create-timestamp</goal> </goals> <versionRange>[0.0,)</versionRange> </pluginExecutionFilter> <action> <ignore /> </action> </pluginExecution> <pluginExecution> <pluginExecutionFilter> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-dependency-plugin</artifactId> <goals> <goal>list</goal> </goals> <versionRange>[0.0,)</versionRange> </pluginExecutionFilter> <action> <ignore /> </action> </pluginExecution> <pluginExecution> <pluginExecutionFilter> <groupId>org.zeroturnaround</groupId> <artifactId>jrebel-maven-plugin</artifactId> <goals> <goal>generate</goal> </goals> <versionRange>[0.0,)</versionRange> </pluginExecutionFilter> <action> <ignore /> </action> </pluginExecution> <pluginExecution> <pluginExecutionFilter> <groupId>org.codehaus.mojo</groupId> <artifactId>gwt-maven-plugin</artifactId> <goals> <goal>compile</goal> </goals> <versionRange>[0.0,)</versionRange> </pluginExecutionFilter> <action> <ignore /> </action> </pluginExecution> <pluginExecution> <pluginExecutionFilter> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-dependency-plugin</artifactId> <goals> <goal>copy-dependencies</goal> <goal>unpack</goal> </goals> <versionRange>[0.0,)</versionRange> </pluginExecutionFilter> <action> <ignore /> </action> </pluginExecution> </pluginExecutions> </lifecycleMappingMetadata>
注意:pluginExecutionFilter中的groupId,artifactId,goal的对应关系。
在配置完后记得要重新加载。如果你有多个Eclipse工作空间或者为一个团队项目,强烈建立使用配置POM文件的方式,,即第一种方式。
然后更新项目模块(maven-》update勾选force online update)。
如果还有问题,看看是不是JRE的原因(JRE6-8),一般为JRE7,
如果项目没有maven依赖包(Maven Dependencies),查看项目的.class
和.project文件
.class文件是否包含如下信息:
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/jdk1.7.0_17"> <attributes> <attribute name="maven.pomderived" value="true"/> </attributes> </classpathentry> <classpathentry kind="con" path="org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER"> <attributes> <attribute name="maven.pomderived" value="true"/> </attributes> </classpathentry>
不包括,则添加上,不同,则修改。
.project文件是否为如下:
<?xml version="1.0" encoding="UTF-8"?> <projectDescription> <name>netty_trunk</name> <comment></comment> <projects> </projects> <buildSpec> <buildCommand> <name>org.eclipse.jdt.core.javabuilder</name> <arguments> </arguments> </buildCommand> <buildCommand> <name>org.eclipse.m2e.core.maven2Builder</name> <arguments> </arguments> </buildCommand> </buildSpec> <natures> <nature>org.eclipse.m2e.core.maven2Nature</nature> <nature>org.eclipse.jdt.core.javanature</nature> </natures> </projectDescription>
对于没有含有项,则添加上,不同,则修改。
最后,记得刷新工作空间项目。
发表评论
-
Maven 拉取jar错误 resolution will not be reattempted until
2020-11-19 20:39 2150jar从仓库拉取不到,抛出如下错误: as cached in ... -
netty NioSocketChannel解析
2017-09-29 12:50 1321netty 抽象BootStrap定义:http://dona ... -
netty Pooled字节buf分配器
2017-09-28 13:00 2057netty 字节buf定义:http://donald-dra ... -
netty Unpooled字节buf分配器
2017-09-26 22:01 2446netty 字节buf定义:http://donald-dra ... -
netty 抽象字节buf分配器
2017-09-26 08:43 1317netty 字节buf定义:http:// ... -
netty 复合buf概念
2017-09-25 22:31 1310netty 字节buf定义:http://donald-dra ... -
netty 抽象字节buf引用计数器
2017-09-22 12:48 1596netty 字节buf定义:http://donald-dra ... -
netty 抽象字节buf解析
2017-09-22 09:00 1844netty 通道接口定义:http://donald-drap ... -
netty 资源泄漏探测器
2017-09-21 09:37 1398netty 通道接口定义:http://donald-drap ... -
netty 字节buf定义
2017-09-20 08:31 2834netty 通道接口定义:http://donald-drap ... -
netty 默认通道配置后续
2017-09-18 08:36 2177netty 通道接口定义:http://donald-drap ... -
netty 默认通道配置初始化
2017-09-17 22:51 2037netty 通道接口定义:http://donald-drap ... -
netty 通道配置接口定义
2017-09-17 14:51 1079netty 通道接口定义:http://donald-drap ... -
netty NioServerSocketChannel解析
2017-09-16 13:01 1877netty ServerBootStrap解析:http:// ... -
netty 抽象nio消息通道
2017-09-15 15:30 1219netty 通道接口定义:http:/ ... -
netty 抽象nio字节通道
2017-09-14 22:39 1202netty 通道接口定义:http:/ ... -
netty 抽象nio通道解析
2017-09-14 17:23 958netty 通道接口定义:http://donald-drap ... -
netty 抽象通道后续
2017-09-13 22:40 1309netty Inboudn/Outbound通道Inv ... -
netty 通道Outbound缓冲区
2017-09-13 14:31 2189netty 通道接口定义:http:/ ... -
netty 抽象Unsafe定义
2017-09-12 21:24 1077netty 通道接口定义:http:/ ...
相关推荐
当从Github检出一个使用Maven的项目时,开发者可能会遇到以下问题: 1. **依赖问题**:由于Maven项目依赖于许多外部库,检出后可能会发现缺少某些依赖。这通常是因为本地Maven仓库中没有这些依赖或者远程仓库(如...
在描述中提到的"只需要下载netty源码,再添加这些jar就可以编译通过了",这意味着你需要获取Netty的源代码仓库,通常可以从GitHub等开源平台获得。源代码包含了Netty的所有模块和组件,可以让你深入了解其内部工作...
本教程将详细介绍如何利用Git从GitHub上拉取项目,以便于你开始或参与开源项目。 首先,我们需要进行**git安装获取**。Git是一款分布式版本控制系统,可以在其官方网站(https://git-scm.com/downloads)上下载适合...
在GitHub上找到的这个项目,已经通过了编译检查,意味着所有源代码文件在编译时没有遇到错误,这通常是项目质量的重要标志。 编译过程通常包括以下步骤: 1. **预处理**:这是编译的第一步,由预处理器(cpp)完成...
SpringBoot和Netty整合是现代Java开发中一个常见的技术组合,尤其在构建高性能、轻量级的网络应用时。SpringBoot以其便捷的依赖管理和自动配置功能简化了Java应用的搭建和部署,而Netty则是一个高效的异步事件驱动的...
"从 GitHub 到 Eclipse 的项目导入指南" 作为 IT 行业的大师,我将为您详细解释如何从 GitHub 上获取项目并导入到 Eclipse 中的步骤。 GitHub 项目 URL 复制 首先,您需要登录到您的 GitHub 账号,并找到您想要...
标题 "GitHubActions云编译OpenWrt_Shell_下载.zip" 暗示了这是一个使用GitHub Actions服务来自动化编译OpenWrt固件的项目。OpenWrt是一个开源的嵌入式操作系统,常用于路由器设备,它允许用户自定义网络设备的软件...
"Jenkins+GitHub实现C项目的集成开发"是一个典型的应用场景,它结合了两个强大的工具:Jenkins,一个开源的持续集成服务器,以及GitHub,一个广泛使用的版本控制系统。本文将深入探讨如何利用这两个工具进行C项目的...
资源包中可能包含 Netty 实例代码,这些代码可以帮助我们更好地理解 Netty 在实际项目中的应用。例如,你可以找到简单的 HTTP 服务器、WebSocket 服务、FTP 服务器或者自定义通信协议的实现,这些都是提升实践能力的...
描述中提到的难点在于,由于中国的网络环境,从GitHub下载源码可能非常慢,这可能是很多开发者遇到的问题。不过,作者已经完成了下载和Gradle编译的过程,使得其他对Spring源码感兴趣的开发者可以直接导入Eclipse...
GitHub 完全指南:教程、常见问题解决方法和项目示例GitHub 完全指南:教程、常见问题解决方法和项目示例GitHub 完全指南:教程、常见问题解决方法和项目示例GitHub 完全指南:教程、常见问题解决方法和项目示例...
标题 "github项目WPF UI编译后文件" 暗示了这是一个基于Windows Presentation Foundation (WPF) 的用户界面(UI)项目,它已经被编译并打包在GitHub上。WPF是微软开发的一种用于构建Windows桌面应用程序的技术,它利用...
然而,在从Github上导入项目时,偶尔会出现缺少iml文件的问题,导致项目无法正常运行。在本文中,我们将详细介绍这种问题的解决方案。 一、问题场景 在从Github上导入项目时,开发者可能会发现目录中没有项目文件...
利用 GitHub Actions 进行在线云编译,可以极大地简化和优化固件的编译流程,尤其适用于那些需要频繁或自动化编译的项目。以下是一些关键特性: 1. **免费**:公开仓库可以免费使用,不占用个人资源。 2. **快速...
对于游戏爱好者来说,GitHub 上有许多有趣的开源游戏项目,能够让我们深入了解游戏开发的过程,甚至参与其中。以下是五个涵盖 C++, Java, JavaScript 和 Rust 语言的开源游戏项目,它们不仅好玩,还能帮助我们提升...
面向小白的Github_Action使用workflow自动编译lean_openwrt教程.docx
IPMItool windows版本 V1.8.18+,2022年3月10日 Github最新源代码编译。 项目地址:https://github.com/ipmitool/ipmitool/releases/tag/IPMITOOL_1_8_18
可能由于网络问题或者访问限制,直接在GitHub上下载librealsense可能遇到困难,所以这个压缩包提供了一种方便的方式,让用户可以直接下载完整的项目。 描述中提到“自己下下来放这里”,这说明了提供者已经完成了从...
为了正确使用Netty,开发者需要了解如何搭建Netty项目,以及如何在Netty中处理TCP和UDP协议的socket服务。虽然Netty能够简化网络程序的开发,但开发者仍然需要有扎实的Java编程基础和网络编程知识。 总结来说,...
教你如何用Github找开源项目(保姆级教程)教你如何用Github找开源项目(保姆级教程)教你如何用Github找开源项目(保姆级教程)教你如何用Github找开源项目(保姆级教程)教你如何用Github找开源项目(保姆级教程)教你...