How to make the Netty example works

2019-09-09 20:32发布

I was trying to download the Netty Source Code and run the included examples.

The jdk version I installed is 1.8.0_65.

I tried to convert examples(in the example folder ...\netty-4.1\example) to eclipse project with maven(mvn eclipse:eclipse).

But got build error said below.

[INFO]
[INFO] >>> maven-eclipse-plugin:2.10:eclipse (default-cli) > generate-resources @ netty-example >>>
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 0.558 s
[INFO] Finished at: 2016-02-04T13:40:13+08:00
[INFO] Final Memory: 11M/28M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal on project netty-example: Could not resolve dependencies for project io.netty:netty-example:jar:4.1.0.CR2-SNAPSHOT: Failure to fi
nd io.netty:netty-tcnative:jar:windows-x86_32:1.1.33.Fork11 in https://repo.maven.apache.org/maven2 was cached in the local repository, resolution will not be r
eattempted until the update interval of central has elapsed or updates are forced -> [Help 1]
org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal on project netty-example: Could not resolve dependencies for project io.netty:net
ty-example:jar:4.1.0.CR2-SNAPSHOT: Failure to find io.netty:netty-tcnative:jar:windows-x86_32:1.1.33.Fork11 in https://repo.maven.apache.org/maven2 was cached i
n the local repository, resolution will not be reattempted until the update interval of central has elapsed or updates are forced
        at org.apache.maven.lifecycle.internal.LifecycleDependencyResolver.getDependencies(LifecycleDependencyResolver.java:221)
        at org.apache.maven.lifecycle.internal.LifecycleDependencyResolver.resolveProjectDependencies(LifecycleDependencyResolver.java:127)
        at org.apache.maven.lifecycle.internal.MojoExecutor.ensureDependenciesAreResolved(MojoExecutor.java:245)
        at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:199)
        at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)
        at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145)
        at org.apache.maven.lifecycle.internal.MojoExecutor.executeForkedExecutions(MojoExecutor.java:352)
        at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:197)
        at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)
        at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145)
        at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:116)
        at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:80)
        at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build(SingleThreadedBuilder.java:51)
        at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:128)
        at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:307)
        at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:193)
        at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:106)
        at org.apache.maven.cli.MavenCli.execute(MavenCli.java:863)
        at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:288)
        at org.apache.maven.cli.MavenCli.main(MavenCli.java:199)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:497)
        at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:289)
        at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:229)
        at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:415)
        at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:356)
Caused by: org.apache.maven.project.DependencyResolutionException: Could not resolve dependencies for project io.netty:netty-example:jar:4.1.0.CR2-SNAPSHOT: Fai
lure to find io.netty:netty-tcnative:jar:windows-x86_32:1.1.33.Fork11 in https://repo.maven.apache.org/maven2 was cached in the local repository, resolution wil
l not be reattempted until the update interval of central has elapsed or updates are forced
        at org.apache.maven.project.DefaultProjectDependenciesResolver.resolve(DefaultProjectDependenciesResolver.java:211)
        at org.apache.maven.lifecycle.internal.LifecycleDependencyResolver.getDependencies(LifecycleDependencyResolver.java:195)
        ... 27 more
Caused by: org.eclipse.aether.resolution.DependencyResolutionException: Failure to find io.netty:netty-tcnative:jar:windows-x86_32:1.1.33.Fork11 in https://repo
.maven.apache.org/maven2 was cached in the local repository, resolution will not be reattempted until the update interval of central has elapsed or updates are
forced
        at org.eclipse.aether.internal.impl.DefaultRepositorySystem.resolveDependencies(DefaultRepositorySystem.java:384)
        at org.apache.maven.project.DefaultProjectDependenciesResolver.resolve(DefaultProjectDependenciesResolver.java:205)
        ... 28 more
Caused by: org.eclipse.aether.resolution.ArtifactResolutionException: Failure to find io.netty:netty-tcnative:jar:windows-x86_32:1.1.33.Fork11 in https://repo.m
aven.apache.org/maven2 was cached in the local repository, resolution will not be reattempted until the update interval of central has elapsed or updates are fo
rced
        at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:444)
        at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifacts(DefaultArtifactResolver.java:246)
        at org.eclipse.aether.internal.impl.DefaultRepositorySystem.resolveDependencies(DefaultRepositorySystem.java:367)
        ... 29 more
Caused by: org.eclipse.aether.transfer.ArtifactNotFoundException: Failure to find io.netty:netty-tcnative:jar:windows-x86_32:1.1.33.Fork11 in https://repo.maven
.apache.org/maven2 was cached in the local repository, resolution will not be reattempted until the update interval of central has elapsed or updates are forced

        at org.eclipse.aether.internal.impl.DefaultUpdateCheckManager.newException(DefaultUpdateCheckManager.java:231)
        at org.eclipse.aether.internal.impl.DefaultUpdateCheckManager.checkArtifact(DefaultUpdateCheckManager.java:206)
        at org.eclipse.aether.internal.impl.DefaultArtifactResolver.gatherDownloads(DefaultArtifactResolver.java:585)
        at org.eclipse.aether.internal.impl.DefaultArtifactResolver.performDownloads(DefaultArtifactResolver.java:503)
        at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:421)
        ... 31 more
[ERROR]
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/DependencyResolutionException

And I followed the clue mentioned in the message. I found this solution which link to the http://netty.io/wiki/forked-tomcat-native.html#wiki-h3-6.

I thought this may not be the work around for my purpose.(I just want to run the examples).

So I want to know any Netty development library to be downloaded to getting start Netty application development. or Any Pom.xml share link could be easy included in the example project ? Thanks.

2条回答
Deceive 欺骗
2楼-- · 2019-09-09 21:15

Looking at the logs, it seems to have failed to find the tcnative jar

Failure to find io.netty:netty-tcnative:jar:windows-x86_32:1.1.33.Fork11 in https://repo.maven.apache.org/maven2 was cached in the local repository,

Can you try downloading this tcnative jar from command line using maven as below:

mvn org.apache.maven.plugins:maven-dependency-plugin:get -DrepoUrl=http://central.maven.org/maven2/  -DgroupId=io.netty -DartifactId=netty-tcnative -Dversion=1.1.33.Fork11
查看更多
Deceive 欺骗
3楼-- · 2019-09-09 21:17

This answer was made according to the bug report on the Netty project.

To build the Netty project, you should use a 64 bit operation system in combination with a 64 JVM. This is because 1 of the dependencies used by the Netty project only supports 64 bits.

According to the output of mvn -version, you are running on a 32 bit JVM. You should be able to download a 64 bit JVM from the official java website.

Upgrading to a 64 bit JVM also gives the following advantages:

  • You can run programs with more than 2 GB memory
  • Calculations using long and double will be faster as java can use the native processor

For the differences see: Benefits of 64bit java platform

You are not required to compile the examples yourself, you can also find them on maven central sorted by version: http://central.maven.org/maven2/io/netty/netty-example/

查看更多
登录 后发表回答