• 构建Dubbo-2.0.7源码


    一. 下载源码:

    git clone --branch dubbo-2.0.7 https://github.com/apache/incubator-dubbo.git

    二. 下载依赖

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

    修改pom.xml为如下内容, 主要是更改repo地址为aliyun

    <?xml version="1.0" encoding="UTF-8"?>
    <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
             xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    
        <modelVersion>4.0.0</modelVersion>
    
        <groupId>com.alibaba</groupId>
        <artifactId>opensesame</artifactId>
        <version>1.0</version>
        <packaging>pom</packaging>
    
        <name>OpenSeame Super POM</name>
        <description>Super POM For OpenSesame Projects</description>
        <inceptionYear>2011</inceptionYear>
    
        <properties>
            <!-- for distribution management -->
            <opensesame_snapshots_distribution_repository>dav:https://maven.aliyun.com/repository/snapshots</opensesame_snapshots_distribution_repository>
            <opensesame_releases_distribution_repository>dav:https://maven.aliyun.com/repository/releases</opensesame_releases_distribution_repository>
            <opensesame_sites_distribution_repository>dav:https://maven.aliyun.com/repository/sites</opensesame_sites_distribution_repository>
    
            <!-- for maven compiler plugin -->
            <maven_compiler_plugin_version>2.3.2</maven_compiler_plugin_version>
            <java_source_version>1.5</java_source_version>
            <java_target_version>1.5</java_target_version>
            <file_encoding>UTF-8</file_encoding>
    
            <maven_source_plugin_version>2.1.1</maven_source_plugin_version>
            <maven_jar_plugin_version>2.3.2</maven_jar_plugin_version>
            <maven_war_plugin_version>2.1.1</maven_war_plugin_version>
            <maven_install_plugin_version>2.3.1</maven_install_plugin_version>
            <maven_deploy_plugin_version>2.7</maven_deploy_plugin_version>
        </properties>
    
        <licenses>
            <license>
                <name>Apache 2</name>
                <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
                <distribution>repo</distribution>
                <comments>A business-friendly OSS license</comments>
            </license>
        </licenses>
    
        <distributionManagement>
    
            <snapshotRepository>
                <id>opensesame.snapshots.account</id>
                <url>${opensesame_snapshots_distribution_repository}</url>
            </snapshotRepository>
    
            <repository>
                <id>opensesame.releases.account</id>
                <url>${opensesame_releases_distribution_repository}</url>
            </repository>
    
            <site>
                <id>opensesame.sites.account</id>
                <url>${opensesame_sites_distribution_repository}</url>
            </site>
    
        </distributionManagement>
    
        <repositories>
    
            <repository>
                <id>opensesame.snapshots</id>
                <url>https://maven.aliyun.com/repository/snapshots</url>
                <releases>
                    <enabled>false</enabled>
                </releases>
                <snapshots>
                    <enabled>true</enabled>
                </snapshots>
            </repository>
    
            <repository>
                <id>opensesame.releases</id>
                <url>https://maven.aliyun.com/repository/releases</url>
                <releases>
                    <enabled>true</enabled>
                </releases>
                <snapshots>
                    <enabled>false</enabled>
                </snapshots>
            </repository>
    
            <repository>
                <id>opensesame.jcenter</id>
                <url>https://maven.aliyun.com/repository/jcenter</url>
                <releases>
                    <enabled>true</enabled>
                </releases>
                <snapshots>
                    <enabled>false</enabled>
                </snapshots>
            </repository>
    
            <repository>
                <id>opensesame.public</id>
                <url>https://maven.aliyun.com/repository/public</url>
                <releases>
                    <enabled>true</enabled>
                </releases>
                <snapshots>
                    <enabled>false</enabled>
                </snapshots>
            </repository>
    
            <repository>
                <id>central.repo</id>
                <name>Maven Repository Switchboard</name>
                <layout>default</layout>
                <url>http://repo1.maven.org/maven2</url>
                <snapshots>
                    <enabled>false</enabled>
                </snapshots>
            </repository>
    
        </repositories>
    
        <pluginRepositories>
            <pluginRepository>
                <id>central.repo.plugin</id>
                <name>Maven Plugin Repository</name>
                <url>http://repo1.maven.org/maven2</url>
                <layout>default</layout>
                <snapshots>
                    <enabled>false</enabled>
                </snapshots>
                <releases>
                    <updatePolicy>never</updatePolicy>
                </releases>
            </pluginRepository>
            <pluginRepository>
                <id>opensesame.snapshots.plugin</id>
                <url>https://maven.aliyun.com/repository/snapshots</url>
                <releases>
                    <enabled>false</enabled>
                </releases>
                <snapshots>
                    <enabled>true</enabled>
                </snapshots>
            </pluginRepository>
            <pluginRepository>
                <id>opensesame.releases.plugin</id>
                <url>https://maven.aliyun.com/repository/releases</url>
                <releases>
                    <enabled>true</enabled>
                </releases>
                <snapshots>
                    <enabled>false</enabled>
                </snapshots>
            </pluginRepository>
        </pluginRepositories>
    
        <build>
    
            <plugins>
    
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-source-plugin</artifactId>
                    <version>${maven_source_plugin_version}</version>
                    <executions>
                        <execution>
                            <id>attach-sources</id>
                            <goals>
                                <goal>jar-no-fork</goal>
                            </goals>
                        </execution>
                    </executions>
                    <configuration>
                        <attach>true</attach>
                    </configuration>
                </plugin>
    
            </plugins>
    
            <pluginManagement>
    
                <plugins>
    
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-jar-plugin</artifactId>
                        <version>${maven_jar_plugin_version}</version>
                    </plugin>
    
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-war-plugin</artifactId>
                        <version>${maven_war_plugin_version}</version>
                    </plugin>
    
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-install-plugin</artifactId>
                        <version>${maven_install_plugin_version}</version>
                    </plugin>
    
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-deploy-plugin</artifactId>
                        <version>${maven_deploy_plugin_version}</version>
                    </plugin>
    
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-compiler-plugin</artifactId>
                        <version>${maven_compiler_plugin_version}</version>
                        <configuration>
                            <source>${java_source_version}</source>
                            <target>${java_target_version}</target>
                            <encoding>${file_encoding}</encoding>
                        </configuration>
                    </plugin>
    
                </plugins>
    
            </pluginManagement>
    
        </build>
    
    </project>

    然后执行mvn install

    三. 修改pom.xml

    到根目录的pom.xml中

    hessian_version为3.2.3版本

    fastjson_version为1.1.44版本

    <hessian_version>3.2.4</hessian_version>
    <fastjson_version>1.1.44</fastjson_version>

    删除pom.xml中的repositories 

    	<repositories>
    		<repository>
    			<id>opensesame.releases</id>
    			<url>http://code.alibabatech.com/mvn/releases</url>
    			<releases>
    				<enabled>true</enabled>
    			</releases>
    			<snapshots>
    				<enabled>false</enabled>
    			</snapshots>
    		</repository>
    	</repositories>

    更改工程中hessian.lite 为 hessian-lite

    四. 安装依赖

    到dubbo-common目录中执行mvn install

    五. 用IDEA打开工程

  • 相关阅读:
    暂停公告
    【laravel】Laravel 5 TokenMismatchException on PHP 5.6.9
    【laravel】laravel class 里面定义以head开头的方法会报错
    【kindle】【转发】kindle链接WIFI自动断开问题
    【js】window.onscroll 无效问题
    【js】【转发】jreturn;、return true、return false;区别
    【js】【vue】获取当前dom层
    【js】input 焦点到内容的最后
    【jquery】 选中复选框 和 return false 的影响
    【jquery】 form ajaxSubmit 问题
  • 原文地址:https://www.cnblogs.com/Sicwen/p/10735749.html
Copyright © 2020-2023  润新知