1. Pom-Dateikonfiguration Nach der Verwendung dieses Plug-Ins zum Erstellen gibt es ein zusätzliches lib-Verzeichnis (dh den durch das oben konfigurierte Ausgabeverzeichnis angegebenen Pfad), das das abhängige JAR-Paket enthält:
1.2 Das Springboot-Projekt verwendet den Spring -boot-maven-plugin Verpackungs-Plug-in<!--拷贝依赖到jar外面的lib目录--> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-dependency-plugin</artifactId> <executions> <execution> <id>copy</id> <phase>package</phase> <goals> <goal>copy-dependencies</goal> </goals> <configuration> <!--指定的依赖路径--> <outputDirectory> ${project.build.directory}/lib </outputDirectory> </configuration> </execution> </executions> </plugin>zum Konfigurieren der oben genannten Verpackung Danach wird das entsprechende JAR-Paket ausgeschlossen, wodurch das durch das Plug-In erstellte flache JAR-Paket kleiner wird und das Hochladen erleichtert wird Der Server für die Veröffentlichung ist wie folgt. Das lib-Verzeichnis unter dem BOOT-INF-Verzeichnis ist verschwunden:
Geben Sie dann den JAR-Paketpfad an .path="../lib" beim Starten des Projekts, um den Schlankheitseffekt zu erzielen, wobei die Abhängigkeiten in D:develop/shared/ abgelegt werden. Führen Sie im fjar-Verzeichnis den Befehl run aus
<plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <configuration> <executable>true</executable> <layout>ZIP</layout> <mainClass> com.iasp.BasicStarter </mainClass> <!--只包含自己--> <includes> <include> <groupId>${groupId}</groupId> <artifactId>${artifactId}</artifactId> </include> <!--或者--> <!--依赖jar不打进项目jar包中--> <!--<include> <groupId>nothing</groupId> <artifactId>nothing</artifactId> </include>--> </includes> <!--不包含哪些--> <!--<excludeGroupIds>--> <!--com.hundsun.jrescloud,--> <!--org.springframework.boot,--> <!--org.springframework--> <!--</excludeGroupIds>--> </configuration> <executions> <execution> <goals> <goal>repackage</goal> </goals> </execution> </executions> </plugin>
Hinweis: Ein weiterer Start Die Lösung besteht darin, den Pfad anzugeben, ohne -Dloader.path="D:develop/shared/fjar" hinzuzufügen, und direkt den folgenden Befehl zum Starten zu verwenden
java -Dloader.path="D:develop/shared/fjar" -jar mytest.jar
Verwenden Sie den obigen Start. Wenn ja, müssen Sie das Maven-Jar-Plugin hinzufügen Plug-in und konfigurieren Sie das Attribut java -jar mytest.jar
wie folgt zu starten: Im Verzeichnis derselben Ebene starten
Nicht im Verzeichnis derselben Ebene starten:
Dabei kann -Dloader.path mehrere Verzeichnisse angeben, sodass bei mehreren Mikrodiensten einige öffentlich verwendete JAR-Dateien in einem gemeinsam genutzten Verzeichnis und für jeden Mikrodienst einzigartige JAR-Dateien im privaten Verzeichnis des Mikrodienstes abgelegt werden können Microservice (das Problem von JAR-Versionskonflikten lösen), Beispiele sind wie folgt:
Hinweis: 1 Wenn Sie -Dloader.path verwenden, müssen Sie2. Wenn es verschiedene Versionen von Abhängigkeiten gibt:
Projekt A hängt beispielsweise von Version 1.0 der Y-Bibliothek ab und Projekt B hängt von Version 2.0 der Y-Bibliothek ab. Dann besteht möglicherweise eine Versionsabhängigkeit Konflikt (wenn die beiden Versionen nicht kompatibel sind). 2.1 Solange die Versionen konsistent sind, verwenden Sie weiterhin dieselbe Version, um konsistente Versionen sicherzustellen. Sie können die Versionsabhängigkeitsverwaltung von Maven für die Verarbeitung verwenden, d Andere JAR-Pakete derselben Version.
使用spring-boot-maven-plugin插件如果不指定程序主运行入口类的话默认为Main-Class: org.springframework.boot.loader.JarLauncher
<parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.1.9.RELEASE</version> <relativePath/> <!-- lookup parent from repository --> </parent> <properties> <!-- The main class to start by executing java -jar --> <start-class>ccom.notes.JavaNotesApplication</start-class> </properties>
<plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <version>2.1.9.RELEASE</version> <configuration> <mainClass>com.notes.JavaNotesApplication</mainClass> <layout>ZIP</layout> </configuration> <executions> <execution> <goals> <goal>repackage</goal> </goals> </execution> </executions> </plugin>
<plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-jar-plugin</artifactId> <configuration> <archive> <manifest> <addClasspath>true</addClasspath> <useUniqueVersions>false</useUniqueVersions> <classpathPrefix>lib/</classpathPrefix> <mainClass>com.notes.JavaNotesApplication</mainClass> </manifest> <manifestEntries> <version>${project.version}</version> </manifestEntries> </archive> </configuration> </plugin>
Das obige ist der detaillierte Inhalt vonSo verwenden Sie das Springboot-Verpackungs-Plug-in, um JAR-Pakete zu entfernen und schlanker zu machen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!