Как решить проблему «WrapperSimpleApp: не удается найти класс …» в программной оболочке tanukis

#java #maven #wrapper #maven-assembly-plugin

#java #maven #оболочка #maven-assembly-plugin

Вопрос:

Я получил ошибку при запуске оболочки tanukisoftware.

 wrapper  | --> Wrapper Started as Console
wrapper  | Launching a JVM...
jvm 1    | Wrapper (Version 3.2.3) http://wrapper.tanukisoftware.org
jvm 1    |   Copyright 1999-2006 Tanuki Software, Inc.  All Rights Reserved.
jvm 1    | 
jvm 1    | WrapperSimpleApp: Unable to locate the class com.aplova.productimagesautouploader.ProductImagesAutoUploaderApplication.class: java.lang.ClassNotFoundException: com.aplova.productimagesautouploader.ProductImagesAutoUploaderApplication.class
jvm 1    | 
jvm 1    | WrapperSimpleApp Usage:
jvm 1    |   java org.tanukisoftware.wrapper.WrapperSimpleApp {app_class} [app_arguments]
jvm 1    | 
jvm 1    | Where:
jvm 1    |   app_class:      The fully qualified class name of the application to run.
jvm 1    |   app_arguments:  The arguments that would normally be passed to the
jvm 1    |                   application.
wrapper  | <-- Wrapper Stopped
  

Я новичок в создании оболочек и понятия не имею об этой ошибке.
Мой файл wrapper.conf выглядит следующим образом,

 #********************************************************************
# Wrapper Properties
#********************************************************************
# Java Application
wrapper.java.command=java
wrapper.working.dir=..

# Java Main class.  This class must implement the WrapperListener interface
#  or guarantee that the WrapperManager class is initialized.  Helper
#  classes are provided to do this for you.  See the Integration section
#  of the documentation for details.
wrapper.java.mainclass=org.tanukisoftware.wrapper.WrapperSimpleApp
set.default.REPO_DIR=lib
set.APP_BASE=.

# Java Classpath (include wrapper.jar)  Add class path elements as
#  needed starting from 1
wrapper.java.classpath.1=lib/wrapper.jar
wrapper.java.classpath.2=conf
wrapper.java.classpath.3=%REPO_DIR%/product-images-auto-uploader-0.0.1-SNAPSHOT.jar
wrapper.java.classpath.4=%REPO_DIR%/spring-boot-configuration-processor-2.3.2.RELEASE.jar
wrapper.java.classpath.5=%REPO_DIR%/thumbnailator-0.4.11.jar
  

В каталоге lib также есть необходимые файлы jar. Итак, как решить эту ошибку.

Ответ №1:

Я нашел решение. Эта ошибка из pom.xml . В pom было

 <plugin>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-maven-plugin</artifactId>
</plugin> 
  

и

 <plugin>
    <groupId>org.codehaus.mojo</groupId>
    <artifactId>appassembler-maven-plugin</artifactId>
    <version>1.10</version>
    <configuration>
    ...
  

оба плагина. Но нужен только плагин appassembler-maven-plugin . Итак, после удаления spring-boot-maven-plugin это работает.

В заключение, эта ошибка возникает из-за spring-boot-maven-plugin замены jar файла, который генерируется appassembler-maven-plugin .

Комментарии:

1. Спасибо, у меня все работает. Я использую версию spring boot 2.4.0