關於安裝 進入pom.xml文件目錄下,使用命令mvn install 當然也可以使用類似idea這類本身已經集成好maven插件按鈕的編輯器進行安裝 安裝過程會輸出安裝jar包的目錄信息,同樣的,跟class編譯後的目標文件一起,放在target目錄下 註意:開發編譯過程中,如果只 編譯 mvn ...
關於安裝
進入pom.xml文件目錄下,使用命令mvn install
當然也可以使用類似idea這類本身已經集成好maven插件按鈕的編輯器進行安裝
安裝過程會輸出安裝jar包的目錄信息,同樣的,跟class編譯後的目標文件一起,放在target目錄下
註意:開發編譯過程中,如果只 編譯 mvn compile,修改的代碼是不會生效的,必須重新執行install生成新的包。再執行jetty run(Windows下使用jetty作為伺服器)過程自然會解析jar包
[INFO] --- maven-jar-plugin:2.4:jar (default-jar) @ thomson-content-rpc-api --- [INFO] Building jar: E:\JavaDevelop\thomson-content\thomson-content-rpc-api\target\thomson-content-rpc-api.jar
在maven裡面,install是安裝的意思,也就是說將代碼安裝到本地倉庫中,成為可運行的包。
通常一個成熟的項目,所依賴的外部類比較多,因此在第一次install代碼的時候,會花費較長的時間。例如某個項目,我的本地倉庫就達到了1.2G。
如何創建自己的本地倉庫?
修改maven安裝目錄下的/conf/settings.xml文件
<settings xmlns="http://maven.apache.org/SETTINGS/1.2.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.2.0 http://maven.apache.org/xsd/settings-1.2.0.xsd"> <!-- localRepository | The path to the local repository maven will use to store artifacts. | | Default: ${user.home}/.m2/repository --> <localRepository>E:/MavenRepository</localRepository>
修改完後,執行 mvn help:system,會自動下載基礎的工程到本地倉庫
通常情況下,類似idea編輯器會把倉庫設定在c盤,我們可以自行修改自己想要存放的目錄
File -> Settings,勾選以下選項框即可修改目錄。
再執行mvn命令時,新生成class文件和jar包會放置在本地倉庫中
關於打包
很方便,可以根據需要設置許可權(按Linux的許可權定義),最終生成的壓縮包會放在target目錄下
pom.xml中添加插件,指定assembly.xml文件
<plugin> <artifactId>maven-assembly-plugin</artifactId> <configuration> <descriptor>src/main/assembly/assembly.xml</descriptor> </configuration> <executions> <execution> <id>make-assembly</id> <phase>package</phase> <goals> <goal>single</goal> </goals> </execution> </executions> </plugin>
配置包尾碼和設置許可權
需要在src目錄下創建assembly目錄,目錄下創建assemly.xml文件,和bin目錄來放置一些執行腳本
assembly.xml
<assembly> <id>assembly</id> <formats>
<!-- 生成包尾碼名 --> <format>tar.gz</format> </formats> <includeBaseDirectory>true</includeBaseDirectory> <fileSets> <fileSet> <directory>src/main/assembly/bin</directory> <outputDirectory>bin</outputDirectory>
<!-- 設置linux許可權 --> <fileMode>0755</fileMode> </fileSet> <fileSet> <directory>src/main/assembly/conf</directory> <outputDirectory>conf</outputDirectory> <fileMode>0644</fileMode> </fileSet> </fileSets> <dependencySets> <dependencySet> <outputDirectory>lib</outputDirectory> <scope>runtime</scope> </dependencySet> </dependencySets> </assembly>