NoClassfoundDefError: OWLOntologyCreationException от выполнения файла JAR-файла - PullRequest
0 голосов
/ 28 января 2020

Я занимаюсь разработкой Java приложения Swing с использованием Maven, и я добавил net.sourceforge.owlapi версию 5.1.0

        <dependency>
            <groupId>net.sourceforge.owlapi</groupId>
            <artifactId>owlapi-distribution</artifactId>
            <version>5.1.0</version>
        </dependency>

Нет проблем вообще, если я запускаю приложение из Netbeans, но когда я запускаю его из jar, сгенерированного из сборки и запускающего прослушиватель, который вызывает метод loadOntologyFromOntologyDocument, я обнаружил в консоли noclassdeffounderror : OWLOntologyCreationException.

Вот метод, когда я вызываю:

        try {
            File file = new File(baseUrl.split("///")[1] + suffixUrl);

            if (file == null) {
                return;
            } else {
                System.out.println("file is null " + file.getAbsolutePath());

            }
            OWLOntology ontology = manager.loadOntologyFromOntologyDocument(file);

            OWLDataFactory factory = manager.getOWLDataFactory();

            ...

            } catch (OWLOntologyCreationException | OWLOntologyStorageException ex) {
               JOptionPane.showMessageDialog(null, ex.getMessage());
            }

Метод loadOntologyFromOntologyDocument выдает OWLOntologyCreationException

Моя сборка pom.xml:

        º<plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-jar-plugin</artifactId>
                <version>2.6</version>
                <configuration>
                    <archive>
                        <addMavenDescriptor>false</addMavenDescriptor>
                        <manifest>
                            <mainClass>ui.AppFrame</mainClass>
                            <addClasspath>true</addClasspath>
                            <classpathPrefix>lib/</classpathPrefix>
                        </manifest>
                    </archive>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-assembly-plugin</artifactId>
                <version>2.4</version>
                <configuration>
                    <descriptors>
                        <descriptor>src/main/assembly/assembly.xml</descriptor>
                    </descriptors>
                </configuration>
                <executions>
                    <execution>
                        <id>make-assembly</id>
                        <phase>package</phase>
                        <goals>
                            <goal>single</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
        </plugins>

[ОБНОВЛЕНИЕ] Трассировка ошибки: введите описание изображения здесь

[UPDATE2] сборка. xml

<?xml version="1.0" encoding="UTF-8"?>
<assembly> 
    <id>full</id>  
    <formats> 
        <format>zip</format> 
    </formats>
    <dependencySets> 
        <dependencySet> 
            <useProjectArtifact>true</useProjectArtifact> 
            <outputDirectory>lib</outputDirectory> 
        </dependencySet> 
    </dependencySets> 

    <fileSets> 
        <fileSet> 
            <directory>${project.build.directory}</directory> 
            <outputDirectory>/</outputDirectory> 
            <includes> 
                <include>*.jar</include> 
            </includes> 
        </fileSet> 

        <fileSet> 
            <directory>data</directory> 
            <outputDirectory>/data</outputDirectory> 
            <includes> 
                <include>*</include> 
            </includes> 
        </fileSet>

        <fileSet> 
            <directory>data/projects</directory> 
            <outputDirectory>/data/projects</outputDirectory> 
            <includes> 
                <include>*</include> 
            </includes> 
        </fileSet> 
        <fileSet> 
            <directory>data/onto</directory> 
            <outputDirectory>/data/onto</outputDirectory> 
            <includes> 
                <include>*</include> 
            </includes> 
        </fileSet> 
        <fileSet> 
            <directory>data/onto/core</directory> 
            <outputDirectory>/data/onto/core</outputDirectory> 
            <includes> 
                <include>*</include> 
            </includes> 
        </fileSet>
        <fileSet> 
            <directory>data/onto/obs</directory> 
            <outputDirectory>/data/onto/obs</outputDirectory> 
            <includes> 
                <include>*</include> 
            </includes> 
        </fileSet>
        <fileSet> 
            <directory>data/onto/extern</directory> 
            <outputDirectory>/data/onto/extern</outputDirectory> 
            <includes> 
                <include>*</include> 
            </includes> 
        </fileSet>

        <fileSet> 
            <directory>data/onto/tech</directory> 
            <outputDirectory>/data/onto/tech</outputDirectory> 
            <includes> 
                <include>*</include> 
            </includes> 
        </fileSet> 
     </fileSets> 
</assembly>

...