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

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

PHP教程|ASP.NET教程|JAVA教程|ASP教程|

服務器之家 - 編程語言 - JAVA教程 - 配置pom.xml用maven打包java工程的方法(推薦)

配置pom.xml用maven打包java工程的方法(推薦)

2020-05-19 10:54java教程網 JAVA教程

下面小編就為大家帶來一篇配置pom.xml用maven打包java工程的方法(推薦)。小編覺得挺不錯的, 現在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

最近由于項目需要,研究了一下maven的打包,項目要做到

1,生成3個目錄/lib,/conf,/bin目錄

2,把所有的jar目錄編譯、拷貝到/lib目錄(包括maven的jar包和lib目錄下的jar,以及編譯的jar包)

3,把所有的啟動腳本從工程根目錄拷貝到/bin目錄

4,把所有的配置文件從src/main/resources拷貝到/conf

 下面是配置的pom.xml,我把相關的配置都加了注釋,一看就能明白,把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
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
<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">
  <modelVersion>4.0.0</modelVersion>
 
  <groupId>test</groupId>
  <artifactId>test.common</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <packaging>jar</packaging>
 
  <name>test.common</name>
  <url>http://maven.apache.org</url>
 
  <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  </properties>
 
  <dependencies>
  <!-- 這里省略n行 -->
  </dependencies>
 
 
  <build>
    <sourceDirectory>src/main/java</sourceDirectory>
    <resources>
      <!-- 把src/main/resources目錄下所有的文件拷貝到conf目錄中 -->
      <resource>
        <directory>src/main/resources</directory>
        <targetPath>${project.build.directory}/conf</targetPath>
      </resource>
      <!-- 把lib目錄下所有的文件拷貝到lib目錄中
      (可能有些jar包沒有辦法在maven中找到,需要放在lib目錄中) -->
      <resource>
        <directory>lib</directory>
        <targetPath>${project.build.directory}/lib</targetPath>
      </resource>
      <!-- 把放在根目錄下的腳本文件.sh,.bat拷貝到bin目錄中 -->
      <resource>
        <directory>.</directory>
        <includes>
          <include>**/*.sh</include>
          <include>**/*.bat</include>
        </includes>
        <targetPath>${project.build.directory}/bin</targetPath>
      </resource>
    </resources>
 
    <plugins>
      <!-- 用于編譯的plugin -->
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-compiler-plugin</artifactId>
        <version>3.1</version>
        <configuration>
          <fork>true</fork>
          <defaultLibBundleDir>lib</defaultLibBundleDir>
          <source>1.7</source>
          <target>1.7</target>
          <encoding>UTF-8</encoding>
          <!-- 如果配置了JAVA_HOME,下面應該可以不用配 -->
          <executable>C:\Program Files (x86)\Java\jdk1.8.0_91\bin\javac.exe</executable>
        </configuration>
      </plugin>
      
      <!-- 用于生成jar包的plugin -->
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-jar-plugin</artifactId>
        <version>2.6</version>
        <configuration>
          <!-- 把生成的jar包放在lib目錄下(和其他所有jar包一起) -->
          <outputDirectory>${project.build.directory}/lib</outputDirectory>
          <archive>
            <manifest>
              <addClasspath>true</addClasspath>
              <classpathPrefix>lib/</classpathPrefix>
            </manifest>
          </archive>
          <excludes>
          <!-- 排除掉一些文件,不要放到jar包中,
          這里是為了排除掉src/main/resources中的文件(它們應該放到conf目錄)
          這里只能指定要排除的目標文件,而不能指定源文件,雖然不夠完美,但是基本能達到目的。 -->
            <exclude>*.xml</exclude>
            <exclude>*.properties</exclude>
          </excludes>
        </configuration>
      </plugin>
      
      <!-- 用于拷貝maven依賴的plugin -->
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-dependency-plugin</artifactId>
        <version>2.10</version>
        <executions>
          <execution>
            <id>copy-dependencies</id>
            <phase>package</phase>
            <goals>
              <goal>copy-dependencies</goal>
            </goals>
            <configuration>
            <!-- 把依賴的所有maven jar包拷貝到lib目錄中(這樣所有的jar包都在lib目錄中) -->
              <outputDirectory>${project.build.directory}/lib</outputDirectory>
            </configuration>
          </execution>
        </executions>
      </plugin>
      
      <!-- 用于拷貝resource的plugin -->
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-resources-plugin</artifactId>
        <version>2.7</version>
        <configuration>
          <encoding>UTF-8</encoding>
        </configuration>
      </plugin>
 
      <!-- 配置生成源代碼jar的plugin -->
      <plugin>
        <artifactId>maven-source-plugin</artifactId>
        <version>2.4</version>
        <configuration>
          <attach>true</attach>
          <encoding>UTF-8</encoding>
          <!-- 配置源代碼jar文件的存放路徑,和其他jar文件一起放在lib目錄 -->
          <outputDirectory>${project.build.directory}/lib</outputDirectory>
        </configuration>
        <executions>
          <execution>
            <phase>compile</phase>
            <goals>
              <goal>jar</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
      
    </plugins>
  </build>
</project>

然后執行maven package打包。如果是eclipse,在Project Explorer-> Run As –> Maven Build… –>在Goals中輸入package,點Run進行編譯。

在bin目錄下的啟動腳本start.bat可以這么寫:

?
1
2
3
4
5
6
7
8
@ECHO OFF
set CLASSPATH=%JAVA_HOME%/lib
set JAVA=%JAVA_HOME%/bin/java
 
set CLASSPATH=%CLASSPATH%;../conf
set JAVA_OPTIONS=-Djava.ext.dirs="../lib"
 
"%JAVA%" -Xms512m -Xmx1024m -classpath "%CLASSPATH%" %JAVA_OPTIONS% test.HangqingEntrance

以上:

把conf目錄添加到CLASSPATH中,因為conf目錄保存的是從src/main/resources拷貝來的配置文件。

設置-Djava.ext.dirs="../lib" 。因為jar包都放在lib目錄。

以上就是小編為大家帶來的配置pom.xml用maven打包java工程的方法(推薦)全部內容了,希望大家多多支持服務器之家~

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 婷婷色在线 | 亚洲国产欧美另类 | 欧美做受 | 风间由美理论片在线观看 | 日本色播| 久久亚洲精品AV成人无 | 亚洲高清在线视频 | 国产精品视频一区二区三区经 | 国产在线观看人成激情视频 | 日本xxxxx高清免费观看 | 国产男人天堂 | 91精品天美精东蜜桃传媒免费 | 国产高清在线精品一区 | 日韩欧美在线看 | 欧美另类变态 | 99视频免费在线 | 艹逼的视频 | 欧美精品久久一区二区三区 | 五月天婷婷精品免费视频 | h在线动漫| 美女逼逼喷水 | 国产99青草全福视在线 | 四虎4hu永久免费 | 韩国三级在线观看 完整版 韩国三级视频网站 | 热门小说同人h改编h | 2018高清国产一道国产 | 天天综合网天天做天天受 | 免费看成年视频网页 | 五月天黄网 | 久9青青cao精品视频在线 | 欧美精品成人a多人在线观看 | 男女性潮高片无遮挡禁18 | 3d动漫美女被吸乳羞羞有 | 亚洲午夜久久久久影院 | 日本人啪啪 | 猛男壮男受bl爽哭了高h | 国产精品不卡 | 国产欧美一区二区三区久久 | 午夜看片a福利在线观看 | 羞羞色男人的天堂伊人久久 | 2021年国内自拍 |