欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Java中Maven項目導(dǎo)出jar包配置的示例代碼

 更新時間:2018年11月26日 15:17:10   作者:Strugglion  
這篇文章主要介紹了Java中Maven項目導(dǎo)出jar包配置的示例代碼,需要的朋友可以參考下

具體代碼如下所示;

<!-- 第一種打包方式 (maven-jar-plugin), 將依賴包和配置文件放到j(luò)ar包外 -->
<build>
  <sourceDirectory>src/main/java</sourceDirectory>
  <resources>
    <resource>
      <directory>src/main/resources</directory>
      <!-- 將<directory>目錄下的文件打包到<targetPath>下 -->
      <targetPath>${project.build.directory}</targetPath>
      <excludes>
        <exclude>**/*.java</exclude>
      </excludes>
    </resource>
  </resources>
  <testSourceDirectory>src/test/java</testSourceDirectory>
  <testResources>
    <testResource>
      <directory>src/test/resources</directory>
      <filtering>true</filtering>
      <excludes>
        <exclude>**/*.java</exclude>
      </excludes>
    </testResource>
  </testResources>
  <plugins>
    <plugin>
      <groupId>org.apache.maven.plugins</groupId>
      <artifactId>maven-compiler-plugin</artifactId>
      <version>2.3.2</version>
      <configuration>
        <source>1.8</source>
        <target>1.8</target>
        <encoding>UTF-8</encoding>
      </configuration>
    </plugin>
    <!-- 將項目依賴包復(fù)制到<outputDirectory>指定的目錄下 -->
    <plugin>
      <groupId>org.apache.maven.plugins</groupId>
      <artifactId>maven-dependency-plugin</artifactId>
      <executions>
        <execution>
          <id>copy-dependencies</id>
          <phase>package</phase>
          <goals>
            <goal>copy-dependencies</goal>
          </goals>
          <configuration>
            <outputDirectory>
              ${project.build.directory}/lib
            </outputDirectory>
          </configuration>
        </execution>
      </executions>
    </plugin>
    <!-- 將項目依賴包的路徑(與上一項中的<outputDirectory>對應(yīng))添加到classPath中 -->
    <plugin>
      <groupId>org.apache.maven.plugins</groupId>
      <artifactId>maven-jar-plugin</artifactId>
      <configuration>
        <archive>
          <manifest>
            <addClasspath>true</addClasspath>
            <classpathPrefix>lib/</classpathPrefix>
            <mainClass>com.ctbri.echoRisk.ApplicationStart</mainClass>
          </manifest>
          <manifestEntries>
            <Class-Path>./</Class-Path>
          </manifestEntries>
        </archive>
      </configuration>
    </plugin>      
  </plugins>
</build>
<!-- 第二種打包方式 (maven-shade-plugin), 將依賴包和配置文件放到j(luò)ar包內(nèi) -->
<build>    
  <directory>${project.basedir}/target</directory>
  <finalName>${project.artifactId}-${project.version}</finalName>
  <plugins>
    <plugin>
      <groupId>org.apache.maven.plugins</groupId>
      <artifactId>maven-surefire-plugin</artifactId>
      <version>2.21.0</version>
      <configuration>
        <skipTests>true</skipTests>
      </configuration>
    </plugin>
    <plugin>
      <groupId>org.apache.maven.plugins</groupId>
      <artifactId>maven-compiler-plugin</artifactId>
      <version>2.3.2</version>
      <configuration>
        <source>1.8</source>
        <target>1.8</target>
        <encoding>UTF-8</encoding>
        <compilerArguments>
          <extdirs>${project.basedir}/lib/</extdirs>
        </compilerArguments>
      </configuration>
    </plugin>
    <plugin>
      <groupId>org.apache.maven.plugins</groupId>
      <artifactId>maven-shade-plugin</artifactId>
      <version>3.1.0</version>
      <executions>
        <execution>
          <phase>package</phase>
          <goals>
            <goal>shade</goal>
          </goals>
          <configuration>
            <minimizeJar>true</minimizeJar>
            <filters>
              <filter>
                <artifact>*:*</artifact>
              </filter>
            </filters>
            <transformers>
              <!-- 往MANIFEST文件中寫入Main-Class是可執(zhí)行包的必要條件。ManifestResourceTransformer可以輕松實現(xiàn)。 -->
              <transformer
                implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
                <mainClass>com.ctbri.echoRisk.ApplicationStart</mainClass>
              </transformer>
              <!-- AppendingTransformer 用來處理多個jar包中存在重名的配置文件的合并,尤其是spring -->
              <transformer
                implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
                <resource>META-INF/spring.handlers</resource>
              </transformer>
              <transformer
                implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
                <resource>META-INF/spring.schemas</resource>
              </transformer>
            </transformers>
          </configuration>
        </execution>
      </executions>
    </plugin>
  </plugins>
</build>
<!-- 第三種打包方式 (maven-assembly-plugin) -->
<build>
  <plugins>
    <plugin>
      <groupId>org.apache.maven.plugins</groupId>
      <artifactId>maven-surefire-plugin</artifactId>
      <version>2.21.0</version>
      <configuration>
        <skipTests>true</skipTests>
      </configuration>
    </plugin>
    <plugin>
      <artifactId>maven-compiler-plugin</artifactId>
      <version>2.3.2</version>
      <configuration>
        <source>1.8</source>
        <target>1.8</target>
        <encoding>UTF-8</encoding>
        <compilerArguments>
          <extdirs>${project.basedir}/lib/</extdirs>
        </compilerArguments>
      </configuration>
    </plugin>
    <plugin>
      <artifactId>maven-assembly-plugin</artifactId>
      <configuration>
        <descriptorRefs>
          <descriptorRef>jar-with-dependencies</descriptorRef>
        </descriptorRefs>
        <archive>
          <manifest>
            <mainClass>com.ctbri.echoRisk.ApplicationStart</mainClass>
          </manifest>
        </archive>
      </configuration>
      <executions>
        <execution>
          <id>make-assembly</id>
          <phase>package</phase>
          <goals>
            <goal>single</goal>
          </goals>
        </execution>
      </executions>
    </plugin>
  </plugins>
</build>

總結(jié)

以上所述是小編給大家介紹的Java中Maven項目導(dǎo)出jar包配置的示例代碼,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!

相關(guān)文章

  • Java開發(fā)之Spring連接數(shù)據(jù)庫方法實例分析

    Java開發(fā)之Spring連接數(shù)據(jù)庫方法實例分析

    這篇文章主要介紹了Java開發(fā)之Spring連接數(shù)據(jù)庫方法,以實例形式較為詳細的分析了Java Spring開發(fā)中針對數(shù)據(jù)庫的相關(guān)操作技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-10-10
  • MQ的分類組成優(yōu)缺點測試點入門教程

    MQ的分類組成優(yōu)缺點測試點入門教程

    這篇文章主要為大家介紹了MQ的分類組成優(yōu)缺點測試點入門教程,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-05-05
  • Java實現(xiàn)學(xué)生成績輸出到磁盤文件的方法詳解

    Java實現(xiàn)學(xué)生成績輸出到磁盤文件的方法詳解

    這篇文章主要為大家詳細介紹了如何利用Java實現(xiàn)將學(xué)生成績輸出到磁盤文件的功能,文中的示例代碼講解詳細,感興趣的小伙伴可以了解一下
    2022-11-11
  • SpringBoot前后端分離實現(xiàn)驗證碼操作

    SpringBoot前后端分離實現(xiàn)驗證碼操作

    驗證碼的功能是防止非法用戶惡意去訪問登錄接口而設(shè)置的一個功能,今天我們就來看看在前后端分離的項目中,SpringBoot是如何提供服務(wù)的
    2022-05-05
  • Spring中@Scheduled功能的使用方法詳解

    Spring中@Scheduled功能的使用方法詳解

    @Scheduled 由Spring定義,用于將方法設(shè)置為調(diào)度任務(wù),下面這篇文章主要給大家介紹了關(guān)于Spring中@Scheduled功能的使用方法,文中通過示例代碼介紹的非常詳細,需要的朋友可以參考下
    2022-04-04
  • SpringBoot+MybatisPlus+代碼生成器整合示例

    SpringBoot+MybatisPlus+代碼生成器整合示例

    這篇文章主要介紹了SpringBoot+MybatisPlus+代碼生成器整合示例,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-03-03
  • Kafka利用Java實現(xiàn)數(shù)據(jù)的生產(chǎn)和消費實例教程

    Kafka利用Java實現(xiàn)數(shù)據(jù)的生產(chǎn)和消費實例教程

    這篇文章主要給大家介紹了關(guān)于Kafka利用Java實現(xiàn)數(shù)據(jù)的生產(chǎn)和消費的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧。
    2018-01-01
  • Netty結(jié)合Protobuf進行編解碼的方法

    Netty結(jié)合Protobuf進行編解碼的方法

    這篇文章主要介紹了Netty結(jié)合Protobuf進行編解碼,通過文檔表述和代碼實例充分說明了如何進行使用和操作,需要的朋友可以參考下
    2021-06-06
  • 淺談java線程join方法使用方法

    淺談java線程join方法使用方法

    這篇文章主要介紹了淺談java線程join方法使用方法,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-09-09
  • Spring IOC基于注解啟動示例詳析

    Spring IOC基于注解啟動示例詳析

    這篇文章主要給大家介紹了Spring IOC基于注解啟動的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-03-03

最新評論