Especifique la clase principal en pom.xml

¿Por qué especificar la clase principal en pom.xml?


En la imagen puedes ver dos frascos. El paquete en ejecución kafkastormtest1-0.0.1-SNAPSHOT.jar es el código y el paquete jar de su proyecto después de usar mvn para empaquetarlo. kafkastormtest1-0.0.1-SNAPSHOT-jar-with-dependencies.jar, esta es la dependencia paquete Contiene su código fuente y los paquetes correspondientes, así como los paquetes dependientes.

Si se produce el siguiente error al utilizar kafkastormtest1-0.0.1-SNAPSHOT.jar para enviar la topología al clúster:




La solución a este error:

Busque pom.xml en el directorio raíz de su proyecto. Agregue el siguiente contenido a este archivo de configuración:

 <plugin>
       <groupId>org.apache.maven.plugins</groupId>
       <artifactId>maven-shade-plugin</artifactId>
        <executions>
           <execution>
                <phase>package</phase>
                      <goals>
                         <goal>shade</goal>
                             </goals>
                           <configuration>
                             <transformers>
                                <transformer
                                   implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
                                 <mainClass>kafkastorm.kafkastorm.TopicMsgTopology</mainClass>
                                  </transformer>
                                </transformers>
                          </configuration>
             </execution>
          </executions>
 </plugin>

Nota: asegúrese de colocar el contenido anterior en <pligins>contenido anterior</plugins>.


Esto garantiza que el envío directo de kafkastormtest1-0.0.1-SNAPSHOT.jar se pueda enviar correctamente al clúster.


Supongo que te gusta

Origin blog.csdn.net/csdn9874123/article/details/78690189
Recomendado
Clasificación