Я занимаюсь разработкой 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>