dubbo-admin 2.5.4 編譯和部署

轉自: http://blog.51cto.com/morrowind/1933538


前言:

    公司比較奇葩,應用服務器用的還是老版本的resin、jboss這些。由於原有dubbo-admin無法訪問,就想用tomcat重新部署套。官網dubbo.io提供的下載地址已經無法下載,那就用源碼編譯吧。

環境:

    系統:linux

    maven:3.5.0

    java:1.7.0_80

問題:

    git clone https://github.com/alibaba/dubbo.git

    git完源碼後,以爲按照github上的說明一步一步來就可以編譯成功,其實不然。官方文檔沒有說明java版本,而說明的maven版本是2.2,mvn install 一直報錯,加了-X參數後看到一些詳細信息,但搜索到的都是說java版本問題。


解決:

    於是將java版本從1.6-1.8都試了,但還是一樣的錯誤……無果,於是找了位開發,讓其幫build下,結果……居然成功了,但啓tomcat時又是各種錯,就問了下開發的編譯環境:

    maven:3.5+

    java:1.8+


    這次查tomcat日誌信息確實是java版本的問題了,但不是tomcat使用的java版本,而是build dubbo時使用的java版本問題,build dubbo時不能使用java1.8+的版本。於是使用java1.7 自己重新build了下,在放到tomcat中運行,可以正常訪問了


插曲:

    看到網上有人說直接到duboo-admin目錄下mvn package -Dmaven.skip.test=true 就可以打包成功,但我這報錯,錯誤信息如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
[ERROR] Failed to execute goal on project dubbo-admin: Could not resolve dependencies for project com.alibaba:dubbo-admin:war:2.5.4-SNAPSHOT: Could not find artifact com.alibaba:dubbo:jar:2.5.4-SNAPSHOT -> [Help 1]
org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal on project dubbo-admin: Could not resolve dependencies for project com.alibaba:dubbo-admin:war:2.5.4-SNAPSHOT: Could not find artifact com.alibaba:dubbo:jar:2.5.4-SNAPSHOT
    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:246)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:200)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:154)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:146)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:117)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:81)
    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:309)
    at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:194)
    at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:107)
    at org.apache.maven.cli.MavenCli.execute(MavenCli.java:993)
    at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:345)
    at org.apache.maven.cli.MavenCli.main(MavenCli.java:191)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:606)
    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 com.alibaba:dubbo-admin:war:2.5.4-SNAPSHOT: Could not find artifact com.alibaba:dubbo:jar:2.5.4-SNAPSHOT
    at org.apache.maven.project.DefaultProjectDependenciesResolver.resolve(DefaultProjectDependenciesResolver.java:208)
    at org.apache.maven.lifecycle.internal.LifecycleDependencyResolver.getDependencies(LifecycleDependencyResolver.java:195)
    ... 23 more
Caused by: org.eclipse.aether.resolution.DependencyResolutionException: Could not find artifact com.alibaba:dubbo:jar:2.5.4-SNAPSHOT
    at org.eclipse.aether.internal.impl.DefaultRepositorySystem.resolveDependencies(DefaultRepositorySystem.java:393)
    at org.apache.maven.project.DefaultProjectDependenciesResolver.resolve(DefaultProjectDependenciesResolver.java:202)
    ... 24 more
Caused by: org.eclipse.aether.resolution.ArtifactResolutionException: Could not find artifact com.alibaba:dubbo:jar:2.5.4-SNAPSHOT
    at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:453)
    at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifacts(DefaultArtifactResolver.java:255)
    at org.eclipse.aether.internal.impl.DefaultRepositorySystem.resolveDependencies(DefaultRepositorySystem.java:376)
    ... 25 more
Caused by: org.eclipse.aether.transfer.ArtifactNotFoundException: Could not find artifact com.alibaba:dubbo:jar:2.5.4-SNAPSHOT
    at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:443)
    ... 27 more
[ERROR] 
[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


想着應該是沒有編譯dubbo的問題導致缺少依賴jar,於是到dubbo主目錄,將dubbo全編譯了下,看到成功後,在dubbo-admin/target 下就生成了需要的dubbo-admin-2.5.4-SNAPSHOT.war文件。這時可將dubbo-admin-2.5.4-SNAPSHOT目錄內的文件直接放到tomcat的ROOT目錄下,修改dubbo.properties文件內的zookeeper

集羣方式爲

1
2
3
dubbo.registry.address=zookeeper://ip_1:2181?backup=ip_2:2181,ip_3:2181
dubbo.admin.root.password=root
dubbo.admin.guest.password=guest


驗證:

    瀏覽器訪問tomcat地址,用root或guest登錄,頁面如下


wKioL1k5F9LQ59pTAAEITWoX8CY405.png

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章