Класс не найден исключение при использовании WildFly 12. ClassName $ 1 не найден - PullRequest
0 голосов
/ 23 марта 2019

Я использую WildFly 12 в одном из моих проектов на работе. ClassNotFound сводит меня с ума, даже если класс является частью проекта.

    Exception in thread "Thread-92" java.lang.NoClassDefFoundError: com/me/ServerConnectionFactory$1
15:43:22,284 ERROR [stderr] (Thread-92)     at com.me.MyClass.createCommand(ServerConnectionFactory.java:10)

Я не понимаю причину, по которой WildFly говорит, что он не нашел MyClass $ 1, когда имя моего класса - MyClass? Я думал, что это проблема отражения Java, поэтому я сделал все свои методы публичными. (Я сделал это из-за прокси-объектов, которые создают WildFly). Похоже, что это не удается в точке переключения, но это не имеет смысла.

Кто-то имеет решение или может дать мне несколько советов? Спасибо всем

Как упомянуто от Ариса, я ставлю здесь свой класс.

@ApplicationScoped
public class ServerConnectionFactory {

    public List<String> createCommand(String url, ServerFactory sFactory) {
        List<String> cmdList = new ArrayList<String>();
        ServerFactory serverFactory = sFactory;

        if (url.contains("middleware")) {
            switch (serverFactory) {
            case FIRST:
                log.info("Connecting to the first server");
                cmdList.add("8081");
                break;

            case SECOND:
                log.info("Connecting to the second server");
                cmdList.add("8091");
                break;
            default:
                log.info("log with DEFAULT server");
            }
        }
    }
}

Вот список трех проектов и как они называются: Класс остается у проекта serverUtilities. У проекта serverUtilies есть отец по имени Utilities. Проект ManageConnections импортирует проект serverUtilies таким образом, чтобы использовать класс ServerConnectionFactory, но когда я пытаюсь его запустить, это дает мне исключение, которого я действительно не понимаю.

    **Pom of server Factory. The project where is my class that creates me problems.**
    <modelVersion>4.0.0</modelVersion>
    <parent>
        <groupId>com.server.connection</groupId>
        <artifactId>Utilities</artifactId>
        <version>0.0.1-SNAPSHOT</version>
    </parent>
    <artifactId>serverUtilities</artifactId>
    <packaging>jar</packaging>
    <name>Server Factory Connection</name>


  **Pom of Server Connection that is the father od Server Factory**
    <modelVersion>4.0.0</modelVersion>
    <groupId>com.server.connection</groupId>
    <artifactId>Utilities</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <packaging>pom</packaging>
    <name>Utilities</name>
    <modules>
        <module>serverUtilities</module>
    </modules>


    **Pom where server factory is used.**   
    <modelVersion>4.0.0</modelVersion>
    <groupId>com.server.getFactory</groupId>
    <artifactId>ManageConnections</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <packaging>war</packaging>
    <name>Manage Connection Component</name>
    <dependencies>
        <dependency>
            <groupId>com.server.connection</groupId>
            <artifactId>serverUtilities</artifactId>
            <version>0.0.1-SNAPSHOT</version>
        </dependency>
    </dependencies>
...