Ich habe ein Problem mit dem Erstellen einer ausführbaren Jar mit Maven erstellen Sie ein Glas, aber ich kann es nicht öffnen, weil es meine Datei nicht finden, und ich weiß nicht, was zu tun ist mehr ich diese eine Datei zum Laden verwende, wenn ich einen absoluten Pfad in der Datei, die es großeExecuteable jar mit maven, um Ressourcen zu enthalten
ClassLoader classLoader = SelectionLab.class.getClassLoader();
File file = new File(classLoader.getResource("Opstine.shp").getFile());
if (file == null) {
return;
}
und hier ist ein Teil meines pom.xml
<build>
<plugins>
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<configuration>
<archive>
<manifest>
<mainClass>geotools.SelectionLab</mainClass>
</manifest>
</archive>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
</configuration>
<executions>
<execution>
<id>make-assembly</id>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<inherited>true</inherited>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
</plugins>
</build>
arbeitet
Ich habe versucht, absoluten Pfad als Nachrichtentafel zu bekommen und nach dem Exportieren von Shapefile bekomme ich diese aber ich bin nicht sicher, es sucht nach Datei in jar auf Pfad F: \ workspace \ osma_grupa \ osma_grupa \ target \ osma_grupa-0.0.1 -SNAPSHOT-jar-with-dependencies.jar oder es verwenden auch diesen Teil vor Datei :. Ich habe gerade überprüft und es gibt eine Datei in der Wurzel von jar
Können Sie eine neue Datei Datei file = neue Datei erstellen(); und drucke seinen absoluten Pfad. Auf diese Weise wäre es einfacher für Sie zu debuggen und die Datei entsprechend zu platzieren. – sathya
Ich bin nicht sicher, was ich mit absolutem Pfad bekomme, also habe ich Bild von dem, was ich bekomme, –
Wenn Sie von Eclipse ausführen, nehme ich wahrscheinlich an, dass Sie Ihren Ressourcenpfad nicht geändert haben. Wenn Sie Ihre Datei im Eclipse-Installationsordner ablegen, funktioniert sie möglicherweise. Außerdem habe ich Sie gebeten, eine Dummy-Datei zu erstellen und ihre Adresse so zu erhalten, dass Sie entschlüsseln können, wo das System nach der Datei sucht. vor unserer Classloader-Implementierung – sathya