Как обновить MANIFEST в Wildfly при изменении класса - PullRequest
0 голосов
/ 27 января 2019

Я установил Eclipse и плагин Jboss Tools вместе с Wildfly. Я создал проект EAR, проект WAR и два проекта EJB jar app1 и app2. Я конвертировал все проекты в Maven.

app1 использует класс app2. Это хорошо компилируется в Eclipse. Но когда я запускаю приложение, я получаю ClassNotFoundException.

EAR pom.xml имеет зависимости:

<dependencies>
    <dependency>
        <groupId>app1</groupId>
        <artifactId>app1</artifactId>
        <version>1.0</version>
        <type>ejb</type>
    </dependency>
    <dependency>
        <groupId>mywar</groupId>
        <artifactId>mywar</artifactId>
        <version>1.0</version>
        <type>war</type>
    </dependency>
    <dependency>
        <groupId>app2</groupId>
        <artifactId>app2</artifactId>
        <version>1.0</version>
        <type>ejb</type>
    </dependency>
</dependencies>

Если я добавлю app2.jar к пути к классу app1 в МАНИФЕСТЕ, app1 сможет найти класс. Проблема в том, что когда я изменяю класс в app1, MANIFEST воссоздается автоматически, удаляя путь к классу.

Это работает:

 Class-Path: app2-1.0.jar

Я добавил в app1 pom.xml плагин для обновления MANIFEST при изменении классов, но он ничего не меняет:

        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-jar-plugin</artifactId>
            <version>3.0.1</version>
            <configuration>
                <archive>
                    <manifest>                                                       
                        <addClasspath>true</addClasspath>
                    </manifest>
                    <manifestEntries>
                        <Class-Path>app2-1.0.jar</Class-Path>
                    </manifestEntries>
                </archive>
            </configuration>
        </plugin>  

Как решить эту проблему?

1 Ответ

0 голосов
/ 27 января 2019

Это исправило проблему в app1 pom.xml:

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-jar-plugin</artifactId>
    <version>3.0.1</version>
    <configuration>
        <archive>
            <manifest>
                <addDefaultImplementationEntries>true</addDefaultImplementationEntries>
                <addClasspath>true</addClasspath>
            </manifest>
            <manifestEntries>
                <Class-Path>app2-1.0.jar</Class-Path>
            </manifestEntries>
        </archive>
    </configuration>
</plugin>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...