1.新建項目(轉自:http://www.cnblogs.com/wql025/p/5215570.html)
創建一個新Maven項目
- new 一個project
- 不選擇任何Maven模板
- 起個GroupId、ArifactId
- 起個項目名。注意:Idea_Project是存放此項目的工作區間,mavenDemo_idea15為存放此項目的子目錄。
- 建好項目后,打開,點擊Auto-Import
- 下面為此項目的結構
項目部署
- 點擊
Project: 無需設置 (當然可點擊Project complier output自定義編譯目錄)
Modules:可看到此項目無任何適配服務組件(因為是手工創建Maven,沒有選擇任何Maven模板)--因此需要我們進行添加。
- 選擇Web(為此項目添加Web服務組件,這便是一個Web項目了)
- 現在為Web設置資源目錄。雙擊Web Resource Directory
- 選擇scr/main目錄
- 在后面加上webapp。好了,點OK,Web的資源目錄便設置好了。
- 現在設置Web的描述文件的目錄
- 設置在webapp目錄下
Facts: 表示當前項目的適配服務組件。可看到此項目已是一個Web項目了。
Aftifacts: 這個Aftifacts描述了當前項目發布的信息。現在進行添加,從Modeles中選擇。
說明:A: 現在Artifacts已有了發布的項目了(idea中准確的說應是Modele) B:output root目錄描述了當前項目的編譯目錄及適配服務。
確定之后當前項目的結構:
- 如有需要,添加lib包
部署服務器
- 添加服務器
- 部署
注:很多童鞋在這里找不到Arifact,請參考部署項目中的Modules的配置。如果沒有為項目配置Web服務組件,那么就沒有Artifact。(當前項目連Web項目都不是,哪兒來的Artifact,又部署什么呢?)
- 注意下面的選擇:
編寫代碼測試
- 創建一個java類。可看到繼承HttpServlet出問題了--這是因為沒有把Tomcat的依賴加入Module
- 在Modules加入Tomcat依賴
添加完畢
- 現在按快捷鍵就可以了
- 代碼編輯
Java
package com.wql; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException; /** * Created by Lenovo on 2016/2/25. */ @WebServlet("/myController") public class Controller extends HttpServlet { @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { doPost(req, resp); } @Override protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { // System.err.println("---"); //解決亂碼 req.setCharacterEncoding("UTF-8"); String name=req.getParameter("name"); req.setAttribute("name",name); System.out.println(name); req.getRequestDispatcher("index.jsp").forward(req, resp); } }
Html
<%-- Created by IntelliJ IDEA. User: Lenovo Date: 2016/2/25 Time: 0:26 To change this template use File | Settings | File Templates. --%> <%@ page contentType="text/html;charset=UTF-8" language="java" %> <html> <head> <title>Title</title> </head> <body> <form action="myController" method="post"> <input name="name"> return:${name} <input value="提交" type="submit"> </form> </body> </html>
Xml
<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" version="3.0"> <welcome-file-list> <welcome-file>index.jsp</welcome-file> </welcome-file-list> </web-app>
- 記得設置默認啟動瀏覽器
- 啟動項目
===================================================================================================================
2.項目打包
最簡單的方法
<?xml version="1.0" encoding="UTF-8"?> <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>cn.mymaven</groupId> <artifactId>test</artifactId> <version>1.0-SNAPSHOT</version> <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <configuration> <source>1.8</source> <target>1.8</target> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-jar-plugin</artifactId> <configuration> <archive> <manifest> <addClasspath>true</addClasspath> <useUniqueVersions>false</useUniqueVersions> <classpathPrefix>lib/</classpathPrefix> <mainClass>cn.mymaven.test.TestMain</mainClass> </manifest> </archive> </configuration> </plugin> </plugins> </build> </project>
入口類TestMain.java為:
package cn.mymaven.test; public class TestMain { public static void main(String[] args){ System.out.println("Hello World"); } }



需要注意的地方
<build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <configuration> <source>1.8</source> <target>1.8</target> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-jar-plugin</artifactId> <configuration> <archive> <manifest> <addClasspath>true</addClasspath> <useUniqueVersions>false</useUniqueVersions> <classpathPrefix>lib/</classpathPrefix> <mainClass>cn.mymaven.test.TestMain</mainClass> </manifest> <manifestEntries> <version>${project.version}</version> </manifestEntries> </archive> </configuration> </plugin> </plugins> </build>
其他鏈接
===================================================================================================================
3.將jar放入maven倉庫
命令如下:
mvn install:install-file -Dfile=c:\kaptcha-2.3.jar -DgroupId=com.google.code -DartifactId=kaptcha -Dversion=2.3 -Dpackaging=jar
mvn install:install-file -Dfile= C:\Users\Administrator\IdeaProjects\demo2\target\demo2-1.0-SNAPSHOT.jar -DgroupId=com.google.code -DartifactId=kaptcha -Dversion=2.3 -Dpackaging=jar
例子如下:
自己把jar包添加到maven倉庫中
定制庫到Maven本地資源庫
(https://www.cnblogs.com/wangshouchang/p/6678512.html)
這里有2個案例,需要手動發出Maven命令包括一個 jar 到 Maven 的本地資源庫。
- 要使用的 jar 不存在於 Maven 的中心儲存庫中。
- 您創建了一個自定義的 jar ,而另一個 Maven 項目需要使用。
PS,還是有很多 jar 不支持 Maven 的。
案例學習
例如,kaptcha,它是一個流行的第三方Java庫,它被用來生成 “驗證碼” 的圖片,以阻止垃圾郵件,但它不在 Maven 的中央倉庫中。
在本教程中,我們將告訴你如何安裝 “kaptcha” jar 到Maven 的本地資源庫。
1. mvn 安裝
下載 “kaptcha”,將其解壓縮並將 kaptcha-version.jar 復制到其他地方,比如:C盤。發出下面的命令:
mvn install:install-file -Dfile=c:\kaptcha-{version}.jar -DgroupId=com.google.code -DartifactId=kaptcha -Dversion={version} -Dpackaging=jar
示例:
(mvn命令建議在cmd窗口中運行)
D:\>mvn install:install-file -Dfile=c:\kaptcha-2.3.jar -DgroupId=com.google.code -DartifactId=kaptcha -Dversion=2.3 -Dpackaging=jar
[INFO] Scanning for projects...
[INFO] Searching repository for plugin with prefix: 'install'.
[INFO] ------------------------------------------------------------------------
[INFO] Building Maven Default Project
[INFO] task-segment: [install:install-file] (aggregator-style)
[INFO] ------------------------------------------------------------------------
[INFO] [install:install-file]
[INFO] Installing c:\kaptcha-2.3.jar to
D:\maven_repo\com\google\code\kaptcha\2.3\kaptcha-2.3.jar
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESSFUL
[INFO] ------------------------------------------------------------------------
[INFO] Total time: < 1 second
[INFO] Finished at: Tue May 12 13:41:42 SGT 2014
[INFO] Final Memory: 3M/6M
[INFO] ------------------------------------------------------------------------
現在,“kaptcha” jar被復制到 Maven 本地存儲庫。
2. pom.xml
安裝完畢后,就在 pom.xml 中聲明 kaptcha 的坐標。
<dependency> <groupId>com.google.code</groupId> <artifactId>kaptcha</artifactId> <version>2.3</version> </dependency>
3. 完成
構建它,現在 “kaptcha” jar 能夠從你的 Maven 本地存儲庫檢索了。