1. 程式人生 > >JAVA-WEB工程轉換為MAVEN的WEB工程

JAVA-WEB工程轉換為MAVEN的WEB工程

將原來的java-web專案名稱改為其他名稱,例如:tcep改為tcep1。

首先建立maven project專案,點選next按鈕 

然後勾選上Create a simple project (skiparchetype selection)—不使用原型骨架。點選next按鈕 

Group Id輸入包路徑,ArtifactId輸入tcep,Packaging方式選擇war,點選finish按鈕 

建立完成之後的工程結構如下:

修改字符集為utf-8

修改java build path,將JRE設定為1.7版本

修改Java Compiler為1.7

修改Dynamic Web Module和java版本號為2.4和1.7,修改方法:在workspace下開啟專案下的 .setting資料夾,找到org.eclipse.wst.common.project.facet.core.xml

檔案,直接手動修改java和jst.web對應的version為1.7和2.4,儲存修改後重新整理一下工程即可。

拷貝java檔案

把java web工程 JavaResources目錄下的src/main目錄拷貝到maven工程中的Java Resources目錄src/main/java目錄下面

拷貝配置檔案

把java web工程 JavaResources目錄下的src/resources目錄下的配置檔案都拷貝到maven工程中的Java Resources目錄src/main/resources目錄下面

拷貝web檔案

把java web工程 WebRoot目錄下除了WEB-INF/classes和WEB-INF/lib之外所有檔案都拷貝到maven工程中的src/main/webapp目錄下面

到目前為止,java web專案轉Maven專案的檔案遷移工作全部完成,接下來要做的是個細活,體力活,把java web專案所有引用jar包,都加入到maven pom依賴中來。

首先需要去java web專案中檢視都引用了哪些jar包,去java web工程Java Resources目錄下的Libraries檢視:

這裡我就介紹下如何查maven依賴,比如我要查commons-io-2.4.jar對應的maven 依賴:

看見結果中有2.4這個版本,點選進去,copy紅框中的結果,將其貼上進pom.xml,其他剩下的就是這樣一個一個查,一個一個新增。 

過程中可能會碰到這種情況,在maven官網查不到你需要的那個jar包,這個時候,你需要把這個jar包加入到你的本地庫,或者以後生產環境中的線上庫。

如何加入本地庫,進入你需要新增的jar包所在檔案路徑,然後指定group id和artifactId,如下:

localhost:~xiaolong$ mvn install:install-file -DgroupId=com.ibatis -DartifactId=ibatis-Dversion=1.0-Dpackaging=jar -Dfile=ibatis.jar -DgeneratePom=true

其中-Dfile填寫源jar包所在路徑,執行上述命令會自動把jar包新增至你本地的maven倉庫。

除了新增依賴包,還需要新增編譯外掛、資源外掛、tomcat7外掛。

pom.xml檔案樣例如下(標紅部分需要根據實際情況修改):

<projectxmlns="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.0http://maven.apache.org/maven-v4_0_0.xsd">

    <modelVersion>4.0.0</modelVersion>

    <groupId>com.hw.vm.test</groupId>

    <artifactId>tcep</artifactId>

    <packaging>war</packaging>

    <version>0.0.1-SNAPSHOT</version>

    <name>tcep Maven Webapp</name>

    <properties>

       <jdk.version>1.7</jdk.version>

       <spring.version>4.3.8.RELEASE</spring.version>

       <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>

    </properties>

    <dependencies>

       <dependency>

           <groupId>org.springframework</groupId>

           <artifactId>spring-web</artifactId>

           <version>${spring.version}</version>

       </dependency>

       <dependency>

           <groupId>org.springframework</groupId>

           <artifactId>spring-jdbc</artifactId>

           <version>${spring.version}</version>

       </dependency>

       <dependency>

           <groupId>org.apache.struts</groupId>

           <artifactId>struts2-spring-plugin</artifactId>

           <version>2.2.1.1</version>

       </dependency>

       <dependency>

           <groupId>org.apache.struts</groupId>

           <artifactId>struts2-convention-plugin</artifactId>

           <version>2.2.1.1</version>

       </dependency>

       <dependency>

           <groupId>mysql</groupId>

           <artifactId>mysql-connector-java</artifactId>

           <version>5.1.26</version>

       </dependency>

       <dependency>

           <groupId>net.sf.ezmorph</groupId>

           <artifactId>ezmorph</artifactId>

           <version>1.0.6</version>

       </dependency>

       <dependency>

           <groupId>c3p0</groupId>

           <artifactId>c3p0</artifactId>

           <version>0.9.1.2</version>

       </dependency>

       <dependency>

           <groupId>net.sf.json-lib</groupId>

           <artifactId>json-lib</artifactId>

           <version>2.4</version>

           <classifier>jdk15</classifier>

       </dependency>

       <dependency>

           <groupId>commons-lang</groupId>

           <artifactId>commons-lang</artifactId>

           <version>2.4</version>

       </dependency>

       <dependency>

           <groupId>aopalliance</groupId>

           <artifactId>aopalliance</artifactId>

           <version>1.0</version>

       </dependency>

       <dependency>

           <groupId>commons-pool</groupId>

           <artifactId>commons-pool</artifactId>

           <version>1.6</version>

       </dependency>

       <dependency>

           <groupId>commons-io</groupId>

           <artifactId>commons-io</artifactId>

           <version>1.3.2</version>

       </dependency>

       <dependency>

           <groupId>commons-collections</groupId>

           <artifactId>commons-collections</artifactId>

           <version>3.2</version>

       </dependency>

       <dependency>

           <groupId>commons-beanutils</groupId>

           <artifactId>commons-beanutils</artifactId>

           <version>1.8.3</version>

       </dependency>

       <dependency>

           <groupId>org.jboss</groupId>

           <artifactId>javassist</artifactId>

           <version>3.7.1.GA</version>

       </dependency>

       <dependency>

           <groupId>log4j</groupId>

           <artifactId>log4j</artifactId>

           <version>1.2.13</version>

       </dependency>

       <dependency>

           <groupId>org.slf4j</groupId>

           <artifactId>slf4j-api</artifactId>

           <version>1.7.5</version>

       </dependency>

       <dependency>

           <groupId>org.slf4j</groupId>

           <artifactId>slf4j-log4j12</artifactId>

           <version>1.7.2</version>

           <scope>runtime</scope>

       </dependency>

       <dependency>

           <groupId>org.mybatis</groupId>

           <artifactId>mybatis</artifactId>

           <version>3.2.7</version>

       </dependency>

       <dependency>

           <groupId>org.mybatis</groupId>

           <artifactId>mybatis-spring</artifactId>

           <version>1.2.2</version>

       </dependency>

       <dependency>

           <groupId>javax.servlet</groupId>

           <artifactId>servlet-api</artifactId>

           <version>2.4</version>

           <scope>provided</scope>

       </dependency>

       <dependency>

           <groupId>com.hynnet</groupId>

           <artifactId>httpclient</artifactId>

           <version>4.5.1</version>

       </dependency>

       <dependency>

           <groupId>org.apache.geronimo.bundles</groupId>

           <artifactId>commons-httpclient</artifactId>

           <version>3.1_2</version>

       </dependency>

    </dependencies>

    <build>

       <finalName>tcep</finalName>

       <plugins>

           <!--Set JDK Compiler Level -->

           <plugin>

              <groupId>org.apache.maven.plugins</groupId>

              <artifactId>maven-compiler-plugin</artifactId>

              <version>2.3.2</version>

              <configuration>

                  <source>${jdk.version}</source>

                  <target>${jdk.version}</target>

              </configuration>

           </plugin>

           <!--For Maven Tomcat Plugin -->

           <plugin>

              <groupId>org.apache.tomcat.maven</groupId>

              <artifactId>tomcat7-maven-plugin</artifactId>

              <version>2.2</version>

              <configuration>

                  <port>8080</port>

                  <path>/tcep</path>

                  <uriEncoding>UTF-8</uriEncoding>

                  <finalName>tcep</finalName>

                  <server>tomcat7</server>

              </configuration>

           </plugin>

           <!--利用此plugin 把原始碼中的xml檔案,打包到相應位置,這裡主要是為了打包Mybatis的mapper.xml檔案 -->

           <plugin>

              <artifactId>maven-resources-plugin</artifactId>

              <version>2.5</version>

              <executions>

                  <execution>

                     <id>copy-xmls</id>

                     <phase>process-sources</phase>

                     <goals>

                         <goal>copy-resources</goal>

                     </goals>

                     <configuration>

                         <outputDirectory>${basedir}/target/classes</outputDirectory>

                         <resources>

                            <resource>

                                <directory>${basedir}/src/main/java</directory>

                                <includes>

                                   <include>**/*.xml</include>

                                </includes>

                            </resource>

                         </resources>

                     </configuration>

                  </execution>

              </executions>

           </plugin>

       </plugins>

    </build>

</project>

修改完成pom.xml檔案以後,如果沒有報錯就可以進行打包測試了,選中專案點選右鍵選單run as -> maven build

在goals中輸入cleanpackage ,然後點選run

這時可以在控制檯上看到maven在執行clean命令和package命令,看執行日誌是否有異常,根據錯誤日誌修復異常問題。

使用tomcat外掛執行web工程

選中專案點選右鍵選單run as -> maven build…

在goals中輸入tomcat7:run,然後點選run

如果tomcat啟動沒有報錯,則會在控制檯中看到web服務已經正常啟動:

在瀏覽器中可以正常開啟web頁面:

當確認新的maven-web工程沒有問題的時候可以將原來的java-web工程刪除。

6、常見問題

解決方法:開啟工程屬性配置Building,勾選Enable project specific settings,勾選Rebuild class files modified by others.

相關推薦

java工程轉換Maven工程

1、建立一個Java工程,如下圖所示: 2、選中此工程 -> 右鍵 -> Configure -> Convert to Maven project。出現如下的截圖:   3、點選之後會彈出對話方塊,如下圖所示: 4、直接點

將Unity導出的Eclipse工程轉換AndroidStudio工程

地址 href 其中 gravity sina 選擇 mar armeabi font 步驟:1)將unity項目導出到文件夾: 轉換到安卓平臺,這裏只勾選google android project。然後導出到自己新建的文件夾。 2)打開導出的文件夾,看到如下內容.這是

如何將Java Web專案轉換Java專案?

如上篇文章“Eclipse web專案引用其它專案時的部署問題”中提到的,有時候我們希望其它專案引用此專案時,釋出後的是jar包,而不是war包,那麼應該怎麼轉換呢? 在專案名稱上單擊滑鼠右鍵》Pro

Java Web工程轉換基於Maven的Web工程

1. 背景 最近接到通知,阿里集團統一要求把歷史專案遷移到阿里生產環境中來,而咱手頭這個專案是2012年的老專案,普通java web工程,不能部署進生產環境,得把這個工程轉為maven工程。本篇文章記錄了java web工程轉為maven工程的整個紀

JAVA-WEB工程轉換MAVEN的WEB工程

將原來的java-web專案名稱改為其他名稱,例如:tcep改為tcep1。 首先建立maven project專案,點選next按鈕  然後勾選上Create a simple project (skiparchetype selection)—不使用原型骨架。點

java web專案轉成maven工程的步驟

背景 最近接到通知,阿里集團統一要求把歷史專案遷移到阿里生產環境中來,而咱手頭這個專案是2012年的老專案,普通java web工程,不能部署進生產環境,得把這個工程轉為maven工程。本篇文章記錄了java web工程轉為maven工程的整個紀錄。 前期準備工

VS2015工程轉換VS2013、VS2012、VS2010工程方法彙總

宣告:本文大部分出自於轉載,感謝大神們的貢獻,小部分是自己增添的。因為有自身親測的體驗,且轉載的原文中有小小的bug,故花點時間寫了方法彙總,特此說明。 作用:解決vs低版本無法直接開啟高版本的工程檔

普通Java工程轉換成maven工程

一、使用IDE提供的轉換功能:1. 右鍵普通Java專案,在彈出的選單中選擇[Configure]-[Convert to Maven Project]:2. 在彈出的對話方塊中輸入專案的groupId, artifactId和version等,點選[Finish],在根目

如何將一個C++程式碼工程轉換matlab的mex檔案直接呼叫呢

1)首先我們要寫一個介面函式mexFunction(),這個介面函式就是類似C++的main函式,它是入口函式,傳遞引數給我們的C++函式。 #include "mex.h" //mx函式,mex函式用到的標頭檔案 #include "exp.h"//呼叫函式用到的標頭檔

vs2015工程轉換vs2010

一、問題:如何用vs2010的工程開啟vs2015? 二、綜合網上的參考:轉換的步驟如下 (1)將工程是.sln用記事本開啟後,更換以下資訊如下: Microsoft Visual Studio Solution File, Format Version 11.00 #

java GMT時間轉換CST時間

oid 時區 ack 北京 獲取 util sys spa .get 今天在獲取windchill的“上次修改時間”的時候發現獲取的是GMT時間,但是我們常用的是CST時間 一開始嘗試直接設置為CST時區,TimeZone.getTimeZone("CST"),發現時間比G

java 中xml轉換json對象

xml轉換 serial () hid cti mave tostring code ace 1、前提須要jar包: json-lib-2.4-jdk15.jar 和 xom-1.2.5.jar ,maven 倉庫: net.sf.jso

MySQL 查詢語句中自己定義的中文內容在Java Web 中顯示問號

variable select 關閉 程序 自己 bsp from sel 技術   Java Web 端做查詢時,性別字段存的是數字,1代表男,2代表女,取數據時將性別轉為漢字顯示在頁面,sql語句如下,結果發生了問題 select a.emp_id,a.emp_n

如何將VS2015工程轉換成VS2012工程

version vs2008 orm 自定義 lld mtools pro 修改 wss 如何將VS2015工程轉換成VS2012工程修改.vcxproj,1.修改工具集 ToolsVersion=14.0 修改為 ToolsVersion=4.02.修改平臺工具集

java util.Date 轉換sql.Date

sta orm static form tran stack post return div public static java.sql.Timestamp StrTransSqlDate(String date) { SimpleDateFormat simple

Qt工程轉換成VS工程

justify 轉換成 inf pan 環境變量 命令提示符 post red style 添加環境變量 qmake 和vc的編譯環境需要配置路徑 通過qmake工具實現轉換 首先在windows的命令提示符工具中瀏覽到需要轉換的工程目錄中去, 然後輸入qmake

普通Java Web項目什麽lib包要放在WEB-INF下

web img ssp tom java ava class文件 classpath 沒有 首先一個項目要編譯好之後才能部署到Tomcat中運行。 Tomcat運行時如何找編譯好的.class文件呢,其實Tomcat下的web項目有兩個預置的classpath(就是能找到

Java將字串轉換時間,支援多種格式

適用格式 //2017/11/25    11:11:11//2017-11-25 11:11:11//2017.11.25 11:11:11//2017/11/25//2017-11-25//2017.11.25 public String judg

web顏色轉換delphi

今天在寫寫一個日誌瀏覽和報警功能時,要求用多種顏色去顯示不同的資訊,客戶給出的顏色是web的 rgb顏色,就是用6位16進位制數去表示的顏色,直接把他賦值給Delphi的TColor變數,發現顯示的顏色不對, 差了資料之後才知道 RGB的顏色是從低位向高位儲存,而TCOLOR正好與之相反, 例如 R

Maven Web專案轉換Web

最近SVN下載的Maven的專案下來,發下的網站專案沒有轉換,轉換後也無法下載的JAR包,讓我們來解決這個問題吧。 Maven的的專案匯入進來變成了這樣 這顯然無法讓我們進行的網路服務釋出,首先需要轉換專案 專案右擊 - >配置 - >轉換為多面形式......