java 配置MyEclipse Maven環(huán)境具體實(shí)現(xiàn)步驟
java 配置MyEclipse Maven環(huán)境
雖然我的大部分項(xiàng)目已經(jīng)遷到Idea上去了,但是在寫部分小的測(cè)試程序的時(shí)候還是習(xí)慣性的會(huì)點(diǎn)開MyEclipse。之前使用第三方庫(kù)的時(shí)候 我會(huì)習(xí)慣的下載jar包,然后build path導(dǎo)入,但是在idea中貌似通過(guò)配置maven依賴更方便,于是我在MyEclipse中也想使用pom.xml來(lái)導(dǎo)入依賴,在嘗試的過(guò)程中遇到了些問題,我這里是記錄解決這些問題的方法。
環(huán)境
Myeclipse for spring 2014
JRE 8
Maven 3.3.3(雖然MyEclipse自帶mvn插件,但是我之前裝過(guò)mvn 并不知道中間過(guò)程用的是哪個(gè))
對(duì)于mvn的功能與pom.xml的格式不做過(guò)多介紹,下面直接切入 Ask&&Answer的環(huán)節(jié)
1報(bào)錯(cuò) : pom.xml格式不正確
<?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>test</groupId> <artifactId>test-project</artifactId> <version>1.0-SNAPSHOT</version> <dependencies> <dependency> <groupId>joda-time</groupId> <artifactId>joda-time</artifactId> <version>2.9</version> </dependency> </dependencies> </project>
這是一個(gè)最簡(jiǎn)單的pom.xml里面包含了所有必要元素,
-xml頭
-project屬性信息
-modelVersion
-該制品的groupId ,artifactId與version
在配置一個(gè)依賴項(xiàng)(你依賴的jar包)的時(shí)候需要包含至少三個(gè)元素
-groupid
-artifactId
-version
并把元素放在 dependency標(biāo)簽中 并被包含在dependencies標(biāo)簽中
2我不知道我依賴的包的依賴配置項(xiàng)怎么填
網(wǎng)上有一些搜索maven配置信息的網(wǎng)站
我現(xiàn)在常使用這個(gè)
http://mvnrepository.com/
需要用什么直接搜就行了,分多次采用多個(gè)關(guān)鍵字搜索成功率比較高,比如com.google.gson 分 com.google 和gson 兩個(gè)搜索,最后你會(huì)得到你想要的結(jié)果
3填寫了依賴項(xiàng)但是還是報(bào)錯(cuò) 說(shuō)無(wú)法下載怎么辦
比如依賴json lib 這個(gè)包,通過(guò)搜索 我們知道需要填寫以下信息,但是如果我們直接放入pom.xml是無(wú)法使用
<dependency> <span style="white-space:pre"> </span><groupId>net.sf.json-lib</groupId> <artifactId>json-lib</artifactId> <version>2.4</version> </dependency>
通過(guò)其他途徑可以知道,這個(gè)jar包存在別的依賴項(xiàng),只能在jdk5的情況下使用,所以如果當(dāng)前jdk版本不同,那么就無(wú)法下載,于是我們需要配置成如下形式
<dependency> <groupId>net.sf.json-lib</groupId> <artifactId>json-lib</artifactId> <version>2.4</version> <classifier>jdk15</classifier> </dependency>
這種信息只能通過(guò)在網(wǎng)上查找指定包的maven依賴才能解決,沒有一個(gè)通行的解決方式。
4我配置好了pom.xml,那么我們?cè)趺磳?dǎo)入這些jar依賴
在MyEclipse里面普通項(xiàng)目和maven項(xiàng)目是存在區(qū)別的,如果你想使用maven管理依賴項(xiàng)與生成制品,你需要建立一個(gè)maven項(xiàng)目,但是這個(gè)操作工程與我們?cè)趇dea中的操作截然不同,這也與我們的理解存在很大的出入(我需要maven只是幫我下載依賴的jar包,其他情況下 我并不需要他)。
這里有一個(gè)替代的解決方案,我們?nèi)绻瓉?lái)存在著一個(gè)普通的項(xiàng)目,現(xiàn)在我們需要使用mvn管理部分的依賴項(xiàng),我們此時(shí)可以將原來(lái)的項(xiàng)目轉(zhuǎn)化成maven項(xiàng)目,然后使用Debug As-> Maven Install的方式來(lái)安裝庫(kù)文件。轉(zhuǎn)化完成后 我們還是可以按照之前的方式編譯 導(dǎo)出文件,與之前的不同是 我們可以通過(guò)pom.xml來(lái)添加依賴項(xiàng)。
轉(zhuǎn)化的方式是 右擊project的名字 ->點(diǎn)擊右擊菜單中的Configure->convert to maven project
其他問題
5 運(yùn)行項(xiàng)目 提示找不到main方法。
可能的一個(gè)原因 查看 project -> propertres->Java build path
看是否把當(dāng)前Java文件所在的根目錄添加到source里面 (默認(rèn)是src文件夾)
6出現(xiàn)亂碼
這種情況一般出現(xiàn)在MyEclipse默認(rèn)是繼承系統(tǒng)默認(rèn)字符集,這個(gè)字符集在windows下一般會(huì)變成GBK,但是國(guó)際通用的字符集規(guī)范是UTF8,
這種情況可以采用兩種方式解決
對(duì)于當(dāng)前目錄設(shè)置字符集
project -> propertres->resource
修改Text file encoding 為UTF8
修改MyEclipse默認(rèn)字符集
windows->preference->general->editors->text editors ->spelling
修改encoding為 UTF8
7java8支持
java8已經(jīng)出來(lái)了好幾年了,但是當(dāng)前市場(chǎng)環(huán)境下對(duì)java8的支持依舊不算友好,雖然我認(rèn)為lambda的語(yǔ)法確實(shí)很好(但是上手確實(shí)有點(diǎn)麻煩,需要熟悉語(yǔ)法),Myeclipse for Spring 2014 只支持到j(luò)ava7,如果需要使用java8 需要升級(jí)到 MyEclipse 2015 GA 以及之后的版本,當(dāng)然你也可以轉(zhuǎn)投idea或者eclipse陣營(yíng)(笑)
以上即是全部?jī)?nèi)容
感謝閱讀,希望能幫助到大家,謝謝大家對(duì)本站的支持!
相關(guān)文章
JavaWeb ServletConfig作用及原理分析講解
ServletConfig對(duì)象,叫Servlet配置對(duì)象。主要用于加載配置文件的初始化參數(shù)。我們知道一個(gè)Web應(yīng)用里面可以有多個(gè)servlet,如果現(xiàn)在有一份數(shù)據(jù)需要傳給所有的servlet使用,那么我們就可以使用ServletContext對(duì)象了2022-10-10詳解Java字節(jié)碼編程之非常好用的javassist
這篇文章主要介紹了詳解Java字節(jié)碼編程之非常好用的javassist,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2021-04-04生成8位隨機(jī)不重復(fù)的數(shù)字編號(hào)的方法
生成隨機(jī)不重復(fù)的數(shù)字編號(hào)在某些情況下也會(huì)用到,本文以生成8位隨機(jī)不重復(fù)的數(shù)字編號(hào)為例與大家分享下具體的實(shí)現(xiàn)過(guò)程,感興趣的朋友可以參考下2013-09-09Java 梳理總結(jié)關(guān)于static關(guān)鍵字常見問題
static關(guān)鍵字基本概念我們可以一句話來(lái)概括:方便在沒有創(chuàng)建對(duì)象的情況下來(lái)進(jìn)行調(diào)用。也就是說(shuō):被static關(guān)鍵字修飾的不需要?jiǎng)?chuàng)建對(duì)象去調(diào)用,直接根據(jù)類名就可以去訪問,讓我們來(lái)了解一下你可能還不知道情況2022-04-04Java實(shí)例講解枚舉enum的實(shí)現(xiàn)
枚舉法的本質(zhì)就是從所有候選答案中去搜索正確的解,枚舉算法簡(jiǎn)單粗暴,他暴力的枚舉所有可能,盡可能地嘗試所有的方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2022-06-06SpringBoot的jar包如何啟動(dòng)的實(shí)現(xiàn)
本文主要介紹了SpringBoot的jar包如何啟動(dòng)的實(shí)現(xiàn),文中根據(jù)實(shí)例編碼詳細(xì)介紹的十分詳盡,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-03-03