1. 程式人生 > >使用fabric-sdk-java原始碼搭建maven專案

使用fabric-sdk-java原始碼搭建maven專案

1.下載原始碼

如果是直接下載zip包的話,打包的時候會報錯,因為pom中有個git外掛需要讀取git資訊,註釋掉即可。

<!--<plugin>
        <groupId>pl.project13.maven</groupId>
        <artifactId>git-commit-id-plugin</artifactId>
        <version>2.2.2</version>
        <executions>
          <execution>
            <id>get-the-git-infos</id>
            <goals>
              <goal>revision</goal>
            </goals>
            <phase>validate</phase>
          </execution>
        </executions>
        <configuration>
          <dotGitDirectory>${project.basedir}/.git</dotGitDirectory>
        </configuration>
      </plugin>-->
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-jar-plugin</artifactId>
        <configuration>
          <archive>
            <manifestEntries>
              <!--<git-commit-id>${git.commit.id}</git-commit-id>
              <git-branch>${git.branch}</git-branch>
              <git-commit-time>${git.commit.time}</git-commit-time>-->
              <fabric-sdk-java-version>${project.version}</fabric-sdk-java-version>
            </manifestEntries>
          </archive>
        </configuration>
      </plugin>

2.新增os.detected.classifier變數

在pom的properties中增加<os.detected.classifier>windows-x86_64</os.detected.classifier>

隨便在一個java專案中寫個main方法,輸入如下程式碼


System.out.println(System.getProperty("os.name"));
System.out.println(System.getProperty("os.arch"));

返回值在https://github.com/trustin/os-maven-plugin這個連結中找對應的值做轉換後寫在<os.detected.classifier>的對應引數中。

3.專案的類中部分Grpc字尾的類找不到

解決辦法:在POM.XML檔案中引入,本身專案的jar包依賴即可

<dependency>
		<groupId>org.hyperledger.fabric-sdk-java</groupId>
		<artifactId>fabric-sdk-java</artifactId>
		<version>1.0.1</version>
</dependency>

匯入這個有可能在專案的maven dependencies中載入不進來fabric-sdk-java的jar包,從而導致專案中的類import不了jar包中的類,這是因為專案的POM檔案的groupId與你引入的依賴的groupId一致了,此時把專案的groupId改個其它名字即可。