Создание исполняемого файла JAR из проекта Maven Netbeans с зависимостями
Я пытаюсь создать исполняемый файл JAR в моем проекте Netbeans Maven. Мой проект использует Gephi, API анализа социальных сетей с открытым исходным кодом (SNA), и имеет зависимости от Gephi.
Мне удалось создать тестовую программу "hello world", и я смог создать исполняемый файл JAR из этого проекта. У него не было никаких зависимостей, но это показывает, что я на правильном пути.
Когда я использую тот же метод в своем проекте Gephi, я получаю сообщение об ошибке при попытке запустить созданные файлы JAR. Мой проект Gephi читает в файле.gdf (графическом файле), который, как мне кажется, вызывает ошибку. Я не думаю, что файл JAR знает, чтобы прочитать в файле, который ожидается в проекте. Не совсем уверен, что это проблема.
Это моя ошибка:
java.lang.IllegalArgumentException: URI is not hierarchical
at java.io.File.<init>(File.java:418)
at org.gephi.toolkit.demos.YifanHuHeadless.script(YifanHuHeadless.java:89)
at org.gephi.toolkit.demos.Main.main(Main.java:34)
java.lang.IllegalArgumentException: URI is not hierarchical
at java.io.File.<init>(File.java:418)
at org.gephi.toolkit.demos.ForceAtlasHeadless.script(ForceAtlasHeadless.java:89)
at org.gephi.toolkit.demos.Main.main(Main.java:37)
Это мой файл POM:
<groupId>org.gephi</groupId>
<artifactId>toolkit-demos</artifactId>
<version>0.9.2</version>
<packaging>jar</packaging>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<repositories>
<repository>
<id>netbeans</id>
<name>NetBeans</name>
<url>http://bits.netbeans.org/maven2/</url>
</repository>
<repository>
<id>oss-sonatype</id>
<name>oss-sonatype</name>
<url>https://oss.sonatype.org/content/repositories/snapshots/</url>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>org.gephi</groupId>
<artifactId>gephi-toolkit</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>${project.groupId}</groupId>
<artifactId>io-processor-plugin</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>${project.groupId}</groupId>
<artifactId>io-importer-api</artifactId>
<version>${project.version}</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<!-- Build an executable JAR -->
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>3.0.2</version>
<configuration>
<archive>
<manifest>
<addClasspath>true</addClasspath>
<classpathPrefix>lib/</classpathPrefix>
<mainClass>org.gephi.toolkit.demos.Main</mainClass>
</manifest>
</archive>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
<version>1.6</version>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>shade</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>