一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|JavaScript|易語言|

服務器之家 - 編程語言 - Java教程 - Java中Maven項目導出jar包配置的示例代碼

Java中Maven項目導出jar包配置的示例代碼

2021-06-17 11:18Strugglion Java教程

這篇文章主要介紹了Java中Maven項目導出jar包配置的示例代碼,需要的朋友可以參考下

具體代碼如下所示;

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
<!-- 第一種打包方式 (maven-jar-plugin), 將依賴包和配置文件放到jar包外 -->
<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>
    <!-- 將項目依賴包復制到<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>對應)添加到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>
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
<!-- 第二種打包方式 (maven-shade-plugin), 將依賴包和配置文件放到jar包內 -->
<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是可執行包的必要條件。manifestresourcetransformer可以輕松實現。 -->
              <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>
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
<!-- 第三種打包方式 (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>

總結

以上所述是小編給大家介紹的java中maven項目導出jar包配置的示例代碼,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對服務器之家網站的支持!

原文鏈接:https://www.cnblogs.com/strugglion/archive/2018/11/26/10020218.html

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 男女拍拍拍免费视频网站 | 久久aa毛片免费播放嗯啊 | 亚洲ⅴa偷拍在线影院 | 俄罗斯女人与公拘i交酡 | 鬼畜重口高h合集长短篇 | 免费亚洲成人 | 美女无内裤下部黄 | 成人资源在线观看 | 草嫩社区 | japonensis中国东北老人 | 久久精品熟女亚洲AV国产 | 国产福利一区二区精品视频 | 久久国产免费 | 日日干天天爽 | 白丝超短裙被输出娇喘不停小说 | 恩爱夫妇交换小说 | 99精品国产综合久久久久 | 91看片淫黄大片.在线天堂 | 亚洲成人网导航 | 欧美一级欧美一级高清 | 青青青在线免费 | 亚洲欧美日韩国产一区二区精品 | 国产精品亚洲片夜色在线 | 网红刘婷hd国产高清 | 超级乱淫伦短篇小说做车 | lilisha李丽莎喷水大胆在线 | 午夜综合 | 亚洲不卡高清免v无码屋 | 国产欧美va欧美va香蕉在线观看 | 人人艹在线视频 | 亚洲国产精品综合福利专区 | 美女啪啪国产 | 亚洲国产成人久久综合一区 | 荷兰艾优apiyoo | 欧美草比视频 | 草逼视频网址 | 午夜一个人在线观看完整版 | 情欲满载2012美国dvd | 亚洲男人天| 大伊人青草狠狠久久 | 日本在线视频网址 |