Programmstruktur
Beschreibung: Eine sehr verbreitete Springboot-Struktur
Verwendung des Plug-Ins für die Verpackung von POM-Dateien
<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>
Beschreibung: Es befindet sich im mainClass-Modus, jedoch nicht in diesem Plug-In
Entpacken Sie, um die JAR-Struktur anzuzeigen
Hinweis: Dies ist die Struktur der Standardverpackung von springboot. Sie wird wie ein normales JAR ausgeführt. Standardmäßig befindet sie sich unter org, und unser WordCount-Programmcode befindet sich unter BOOT_INF, sodass die Klasse nicht gefunden werden kann
Fehler melden (Klassen zuordnen und reduzieren konnte nicht gefunden werden)
Beschreibung: Verwenden Sie hadoop jar, um den Fehler auszuführen, und die Klasse kann nicht gefunden werden
Verwenden Sie das verpackte Plugin im offiziellen Fall von 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>
Beschreibung: Es handelt sich um org.apache.maven.plugins
Verwenden Sie mvn install, um die Verzeichnisstruktur anzuzeigen
Hinweis: Ihre wordCount-bezogenen Klassen befinden sich alle im com-Paket
Laufende Ergebnisse anzeigen
Beschreibung: Führen Sie den Mapreduce-Job erfolgreich aus
um zusammenzufassen
Wenn Sie das Problem nicht finden können, müssen Sie auf die offizielle Website gehen, um es zu finden. Ich habe 8 Stunden lang gesucht und schließlich nur auf das offizielle Beispiel verwiesen.