プログラムの構造
説明:非常に一般的なスプリングブーツの構造
pomファイルパッケージプラグインの使用
<build>
<plugins>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>2.3.2</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<fork>true</fork>
<mainClass>com.example.springbootintegrationtest.hadoop.mapreduce.WordCountDriver</mainClass>
</configuration>
<executions>
<execution>
<goals>
<goal>repackage</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
説明:mainClassモードですが、このプラグインではありません
解凍してjar構造を表示します
注:これはspringbootのデフォルトのパッケージの構造です。通常のjarとして実行されます。デフォルトでは、orgの下にあり、WordCountプログラムコードはBOOT_INFの下にあるため、クラスが見つかりません。
エラーの報告(mapおよびreduceクラスが見つかりませんでした)
説明:hadoop jarを使用してエラーを実行しましたが、クラスが見つかりません
Hadoopの公式ケースでパッケージ化されたプラグインを使用する
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<configuration>
<archive>
<manifest>
<mainClass>com.example.springbootintegrationtest.hadoop.mapreduce.WordCountDriver
</mainClass>
</manifest>
</archive>
</configuration>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>findbugs-maven-plugin</artifactId>
<configuration>
<findbugsXmlOutput>true</findbugsXmlOutput>
<xmlOutput>true</xmlOutput>
<effort>Max</effort>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.rat</groupId>
<artifactId>apache-rat-plugin</artifactId>
</plugin>
</plugins>
</build>
説明:org.apache.maven.pluginsです
mvn installを使用して、ディレクトリ構造を確認します
注:wordCount関連のクラスはすべてcomパッケージに含まれています
実行結果を表示する
説明:mapreduceジョブを正常に実行します
総括する
問題が見つからない場合は、公式Webサイトにアクセスして見つける必要があります。8時間検索し、最後に公式の例を参照します。