maven下手动导入ojdbc6.jar
本地maven下手動(dòng)導(dǎo)入ojdbc6.jar介紹兩種最常用方法:
一:將本地的Jar包依賴deploy到本地maven庫(kù)中
二:在工程中新建lib目錄放jar包便于引入多個(gè)jar包依賴
一:將本地的Jar包依賴deploy到本地maven庫(kù)中
1. 根據(jù)你需要的版本,下載ojdbc6.jar
百度云盤下載:點(diǎn)擊打開鏈接
2.將ojdbc6.jar放在你某個(gè)位置,我這里放在桌面上
3.打開終端(windows用戶打開cmd),輸入:
mvn install:install-file -Dfile=你的存放ojdbc6.jar文件的位置 -DgroupId=com.oracle -DartifactId=ojdbc6 -Dversion=版本號(hào) -Dpackaging=jar -DgeneratePom=true
4.比如我的Jar放在如下位置
5 我的執(zhí)行命令如下
mvn install:install-file -Dfile=/D:/maven/ojdbc.jar/ojdbc6.jar -DgroupId=com.oracle -DartifactId=ojdbc6 -Dversion=11.2.0.3 -Dpackaging=jar -DgeneratePom=true
6 windows+R鍵,輸入cmd調(diào)出執(zhí)行安裝jar包的命令行的終端頁(yè)面
6 執(zhí)行以上命令,當(dāng)出現(xiàn)build success即手動(dòng)導(dǎo)入ojdbc6.jar到本地maven倉(cāng)庫(kù)成功
安裝位置:
注意:有的同學(xué)在執(zhí)行以上命令時(shí)會(huì)出現(xiàn)
mvn不是內(nèi)部或外部命令,也不是可運(yùn)行的程序或批處理文件,出現(xiàn)該問(wèn)題的其實(shí)就是你的Maven沒有按照正確的姿勢(shì)進(jìn)行安裝,具體修復(fù)指南參考這篇
mvn不是內(nèi)部或外部命令,也不是可運(yùn)行的程序或批處理文件的解決辦法
8 pom文件引入手動(dòng)導(dǎo)入本地maven倉(cāng)庫(kù)ojdbc6.jar包
<dependency><groupId>com.oracle</groupId><artifactId>ojdbc6</artifactId><version>11.2.0.3</version></dependency>對(duì)應(yīng)關(guān)系如下
二:在工程中新建lib目錄放jar包便于引入多個(gè)jar包依賴
具體看之前寫的這篇文章 在idea中使用gradle導(dǎo)入本地依賴Oracle驅(qū)動(dòng)包的方法
如果是maven項(xiàng)目的話,把pom中的引用坐標(biāo)改成如下就可以
拓展: MAVEN依賴關(guān)系中Scope的作用
Dependency Scope 在POM 4中,中還引入了,它主要管理依賴的部署。目前依賴項(xiàng)的作用域可以使用5個(gè)值:
在定義項(xiàng)目的依賴項(xiàng)的時(shí)候,我們可以通過(guò)scope來(lái)指定該依賴項(xiàng)的作用范圍。scope的取值有compile、runtime、test、provided、system和import。
compile:這是依賴項(xiàng)的默認(rèn)作用范圍,即當(dāng)沒有指定依賴項(xiàng)的scope時(shí)默認(rèn)使用compile。compile范圍內(nèi)的依賴項(xiàng)在所有情況下都是有效的,包括運(yùn)行、測(cè)試和編譯時(shí)。
runtime:表示該依賴項(xiàng)只有在運(yùn)行時(shí)才是需要的,在編譯的時(shí)候不需要。這種類型的依賴項(xiàng)將在運(yùn)行和test的類路徑下可以訪問(wèn)。
test:表示該依賴項(xiàng)只對(duì)測(cè)試時(shí)有用,包括測(cè)試代碼的編譯和運(yùn)行,對(duì)于正常的項(xiàng)目運(yùn)行是沒有影響的。
provided:表示該依賴項(xiàng)將由JDK或者運(yùn)行容器在運(yùn)行時(shí)提供,也就是說(shuō)由Maven提供的該依賴項(xiàng)我們只有在編譯和測(cè)試時(shí)才會(huì)用到,而在運(yùn)行時(shí)將由JDK或者運(yùn)行容器提供。
system:當(dāng)scope為system時(shí),表示該依賴項(xiàng)是我們自己提供的,不需要Maven到倉(cāng)庫(kù)里面去找。指定scope為system需要與另一個(gè)屬性元素systemPath一起使用,它表示該依賴項(xiàng)在當(dāng)前系統(tǒng)的位置,使用的是絕對(duì)路徑。
POM文件里面可以引用一些內(nèi)置屬性(Maven預(yù)定義可以直接使用)
${basedir} 項(xiàng)目根目錄
${version}表示項(xiàng)目版本;
project.basedir同{project.basedir}同project.basedir同{basedir};
project.version表示項(xiàng)目版本,與{project.version}表示項(xiàng)目版本,與project.version表示項(xiàng)目版本,與{version}相同;
${project.build.directory} 構(gòu)建目錄,缺省為target
${project.build.sourceEncoding}表示主源碼的編碼格式;
${project.build.sourceDirectory}表示主源碼路徑;
${project.build.finalName}表示輸出文件名稱;
${project.build.outputDirectory} 構(gòu)建過(guò)程輸出目錄,缺省為target/classes
新建個(gè)lib目錄放依賴jar包打包問(wèn)題
通過(guò)這種方式引入依賴后,在編碼的時(shí)候沒有問(wèn)題,但是用mvn clean package打成jar包后運(yùn)行就是報(bào)錯(cuò),正式找不到這些jar包中的相關(guān)類。把jar包解壓后在BOOT-INF/lib里面也確實(shí)沒有發(fā)現(xiàn)用上述方式引入的jar包,看來(lái)是沒有把src/lib目錄里面的jar打進(jìn)去,后來(lái)通過(guò)查找也終于找到方法了,修改pom文件,在build標(biāo)簽下增加如下配置:
src/lib BOOT-INF/lib/ **/*.jar src/main/resources BOOT-INF/classes/ 目的就是把src/lib下的jar打到BOOT-INF/lib下,但是必須要增加第二個(gè)resource,不然src/main/resources下的配置文件又打不進(jìn)jar包了。如果要打成war包,則pom文件需要這樣改:
<!--設(shè)置maven-war-plugins插件,否則外部依賴無(wú)法打進(jìn)war包--><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-war-plugin</artifactId><configuration><webResources><resource><directory>lib</directory><targetPath>WEB-INF/lib/</targetPath><includes><include>**/*.jar</include></includes></resource></webResources></configuration></plugin>注意:
有的同學(xué)啟動(dòng)項(xiàng)目的時(shí)候有可能會(huì)報(bào)一下這個(gè)錯(cuò)誤
Failed to auto-configure a DataSource: 'spring.datasource.url' is not specified and no embedded datasource could be auto-configured.百度會(huì)告訴你
需要在啟動(dòng)類的@EnableAutoConfiguration或@SpringBootApplication中添加exclude
= {DataSourceAutoConfiguration.class},排除此類的autoconfig。啟動(dòng)以后就可以正常運(yùn)行。
這是因?yàn)樘砑恿藬?shù)據(jù)庫(kù)組件,所以autoconfig會(huì)去讀取數(shù)據(jù)源配置,而我新建的項(xiàng)目還沒有配置數(shù)據(jù)源,所以會(huì)導(dǎo)致異常出現(xiàn)。
但是 但是這里我們是要和數(shù)據(jù)庫(kù)做交互的,所以這個(gè)注解顯然是不合適的,那么這個(gè)問(wèn)題怎么解決呢?
我之前有一篇文章,不是這個(gè)錯(cuò)誤,但是也是這個(gè)辦法可以解決,加上以下pom文件即可
參考:
Maven倉(cāng)庫(kù)理解、如何引入本地包、Maven多種方式打可執(zhí)行jar包
springboot解決第三方依賴jar包的問(wèn)題
總結(jié)
以上是生活随笔為你收集整理的maven下手动导入ojdbc6.jar的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: LuckyDraw app被评为Micr
- 下一篇: vary