В этой статье представлен метод использования Maven для создания исполняемых пакетов JAR. Это совместно с вами. Детали следующие:
Из XSI POM вы можете открыть схему, описывающую POM:
Вы можете увидеть структуру проекта в POM:
JAR, сгенерированная установкой MVN по умолчанию, не имеет основной записи класса, и основной класс должен быть установлен в Maven-Compile-Plugin.
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd "> <dolidyversion> 4.0.0 </modelversion> <groupid> com.cetc.di </GroupId> <ratifactid> hellocetcatc </artifactid> <sersecle> 0.0.1-snapshot </версия> <packagegaging> </artifactid> <version> 0.0.1-snapshot </rescaver> <mame> hellocetc </name> <url> http://maven.apache.org </url> <properties> <project.build.sourceencoding> utf-8 </project.build.sourceEncoding> </properties> <seyedice> <dyyedice> <version>3.8.1</version> <scope>test</scope> </dependency> </dependencies> <build><pluginManagement><plugins><plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-jar-plugin</artifactId> <configuration> <source>1.8</source> <target>1.8</target> <archive> <manifest> <bistclass> com.cetc.di.hellocetc.app </mainclass> <ddclasspath> true </addclasspath> <classpathprefix> lib/</classpathprefix> </manifest> </archive> <slasseDirectory> </classeDirefix> </conifiguration> </plucin> </plucin> </plucin> </plucin> </plucin> </plucin> </plucin> </plucin> </pluginmanagement> </build> </project>
Выполнить установку MVN:
В целевом каталоге обнаружено, что пакет JAR был сгенерирован:
Используя Java Decropiler, вы можете увидеть, что Mainclass был добавлен в манифест:
Используйте MVN Help: Effective-Pom, чтобы увидеть полную структуру pom.xml (включая унаследованные свойства):
[Информация] Сканирование для проектов ... [Информация] [Информация] ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- Применяется: <!- ======================================================================= ======================================================================= ======================================================================= ======================================================================= ======================================================================= ======================================================================= ======================================================================= ======================================================================= ======================================================================= ======================================================================= ======================================================================= ======================================================================= ======================================================================= ======================================================================= ======================================================================= ======================================================================= =================================================================================================== xmlns: xsi = "http://www.w3.org/2001/xmlschema-instance" xsi: schemalocation = "http://maven.apache.org/pom/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.0.0.0.0.0.0. <DOMELVERSION> 4.0.0 </modelVersion> <groupId> com.cetc.di </GroupId> <strifactid> hellocetc </artifactid> <serse> 0.0.1-snapshot </version> <mame> hellocetc </name> <url> http://maven.apache.org </url> <proterties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> </properties> <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>3.8.1</version> <scope>test</scope> </dependency> </dependencies> <repositories> <repository> <snapshots> <enabled>false</enabled> </snapshots> <id>central</id> <name>Central Repository</name> <url>https://repo.maven.apache.org/maven2</url> </repository> </repository> </repository> </repository> <pluginRepository> <pluginRepository> <leleases> <prownpolicy> никогда </updatePolicy> </leleases> <Spanshots> <Nabled> false </inbodation> </spantshots> <id> central </id> <mame> Центральный репозиторий </name> <url> https://repo.maven.apache.org/maven2 </urls> </urlpostory. <build> <sourceDirectory>D:/Users/a/Workspaces/MyEclipse 2015/hellocetc/src/main/java</sourceDirectory> <scriptSourceDirectory>D:/Users/a/Workspaces/MyEclipse 2015/hellocetc/src/main/scripts</scriptSourceDirectory> <testsourcedirectory> d:/users/a/workspaces/myeclipse 2015/hellocetc/src/test/java </testsourcedirectory> <powningDirectory> d:/user -deplieChpaces/myeclipse 2015/hellocetc/target/classedectory> <testOutputDirectory>D:/Users/a/Workspaces/MyEclipse 2015/hellocetc/target/test-classes</testOutputDirectory> <resources> <resource> <directory>D:/Users/a/Workspaces/MyEclipse 2015/hellocetc/src/main/resources</directory> </resources> </resources> <testResources> <testResources> <directory>D:/Users/a/Workspaces/MyEclipse 2015/hellocetc/src/test/resources</directory> </testResources> </testResources> <directory>D:/Users/a/Workspaces/MyEclipse 2015/hellocetc/target</directory> <finalName>hellocetc-0.0.1-SNAPSHOT</finalName> <pluginmanagement> <blicins> <ratifactid> maven-antrun-plugin </artifactid> <serse> 1.3 </version> </placin> <blicin> <ratifactid> maven-assembly-plugin </artifactid> <sersin> 2.2-beta-5 </version> </plugin> <плагин> <ArtifactId> maven-depectendency-plugin </artifactid> <sersion> 2.8 </version> </placin> <blicin> <ratifactid> maven-release-plugin </artifactid> <sersin> 2.3.2 </version> </plagin> <bricin> <artifactid> maven-jar-plugin </artifactid> <версия> <версия> <версия> <версия> <версия> <версия> <версия> <версия> <версия> <версия> <версия> <версии> <-версия> <Rever> <Remin> 2.4 <RembactId>. <source> 1.8 </source> <target> 1.8 </target> <Archive> <manifest> <bienclass> com.cetc.di.hellocetc.app </mainclass> <ddclasspath> true </addclasspath> </classpathprefix> lib/</classpathprefix> <//archiveprefix> </classpathprefix> <///archiveprefy </plugins> </plugins> </pluginManagement> <plugins> <artifactId>maven-clean-plugin</artifactId> <version>2.5</version> <executions> <execution> <id>default-clean</id> <phase>clean</phase> <goals> <goal>clean</goal> </goals> </execution> </executions> </plugin> <plugin> <artifactid> maven-resources-plugin </artifactid> <sersion> 2.6 </version> <cervision> <cerfution> <id> по умолчанию testresources </id> <phate> trape-test-resources </phase> <coage> <come> testresources </gule> </oeption> </feection> <duction> <id> <id> <duct> </id> </id> <duce> <duction> <duction> <duction> <duction> <defaul <execution> <id>default-resources</id> <phase>process-resources</phase> <goals> <goal>resources</goal> </execution> </plugin> <plugin> <artifactId>maven-jar-plugin</artifactId> <version>2.4</version> <executions> <execution> <id>default-jar</id> <phase>package</phase> <goals> <COLE> jar </gule> </oal> <ponfiguration> <source> 1.8 </source> <Target> 1.8 </target> <Archive> <manifest> <bayclass> com.cetc.di.hellocetc.app </mainclass> <dudclasspath> true </addclasspath> <classpathprefix> </classparepath> </manifefix> </manifefix> <sesscessDirectory/> </configuration> </выполнение> </выполнения> <configuration> <source> 1.8 </source> <target> 1.8 </target> <Archive> <manifest> <difainclass> com.cetc.di.hellocetc.app </mainclass> <addclasspath> true </addc. </manifest> </archive> <classesDirectory /> </configuration> </plugin> <plugin> <artifactId>maven-compiler-plugin</artifactId> <version>3.1</version> <executions> <execution> <id>default-compile</id> <phase>compile</phase> <goals> <goal>compile</goal> </goals> </execution> <execution> <id>default-testCompile</id> <phase>test-compile</phase> <goals> <goal>testCompile</goal> </goals> </execution> </execution> </plugin> <plugin> <artifactId>maven-surefire-plugin</artifactId> <version>2.12.4</version> <executions> <execution> <execution> <id>default-test</id> <phase>test</phase> <goals> <goal>test</goal> </goals> </execution> </executions> </plugin> <plugin> <artifactId>maven-install-plugin</artifactId> <version>2.4</version> <executions> <execution> <id>default-install</id> <phase>install</phase> <goals> <goal>install</goal> </goals> </execution> </executions> </plugin> <plugin> <artifactId>maven-deploy-plugin</artifactId> <version>2.7</version> <executions> <execution> <id>default-deploy</id> <phase>deploy</phase> <goals> <goal>deploy</goal> </goals> </execution> </refections> </placin> <blicin> <ratifactid> maven-site-plugin </artifactid> <sersive> 3.3 </version> <ferainations> <Effication> <id> по умолчанию </id> <phase> сайт </phase> <Голы> </over> </overse> </oally> <putowdirectory> d:/a users/asters/aspsepse/a users/a users/obseec/a users/obseec 2015/hellocetc/target/site</outputDirectory> <reportPlugins> <reportPlugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-project-info-reports-plugin</artifactId> </reportPlugin> </reportPlugins> </reportPlugins> </configuration> </execution> <execution> <Id> по умолчанию-deploy </id> <phase> site-deploy </phase> <Голы> <0000000жды <groupId> org.apache.maven.plugins </GroupId> <ArtifactId> maven-project-info-reports-plugin </artifactid> </reportplugin> </reportplugins> </reportplugins> </configuration> </execution> </refecturation> <putowdirectory> d:/a horkspces/abrestions/abrestions> 2015/hellocetc/target/site </outputDirectory> <proteplugins> <protplugin> <groupid> org.apache.maven.plugins </GroupId> <strifactid> maven-project-info-reports-plugin </artifactid> </reportplugin> </report-proj <putdirectory> d:/users/a/workspaces/myeclipse 2015/hellocetc/target/site </outputDirectory> </reporting> </project> [info] ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- 2015-11-18T20:05:12+08:00[INFO] Final Memory: 10M/245M[INFO] ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Выше всего содержание этой статьи. Я надеюсь, что это будет полезно для каждого обучения, и я надеюсь, что все будут поддерживать Wulin.com больше.