中企動(dòng)力科技股份有限公司銷售seo網(wǎng)站診斷方案
1、compile
:默認(rèn)值,可省略不寫。此值表示該依賴需要參與到項(xiàng)目的編譯、測(cè)試以及運(yùn)行周期中,打包時(shí)也要包含進(jìn)去。
2、test
:該依賴僅僅參與測(cè)試相關(guān)的工作,包括測(cè)試代碼的編譯和執(zhí)行,不會(huì)被打包,例如:junit。
3、runtime
:該依賴項(xiàng)目無需參與項(xiàng)目的編譯,不過后期的測(cè)試和運(yùn)行周期需要其參與。與compile相比,跳過了編譯而已。例如JDBC驅(qū)動(dòng),適用運(yùn)行和測(cè)試階段。
4、provided
:該依賴在打包的時(shí)候可以不用包含進(jìn)去,別的設(shè)施會(huì)提供。事實(shí)上該依賴?yán)碚撋峡梢詤⑴c編譯,測(cè)試,運(yùn)行等周期。相當(dāng)于compile,但是打包階段做了exclude(排除)操作。
5、system
:從參與度來說,和provided相同,不過被依賴項(xiàng)不會(huì)從maven倉(cāng)庫下載,而是從本地文件系統(tǒng)拿。需要添加systemPath的屬性來定義路徑
以下為scope是system時(shí)舉的例子:
例:有一個(gè)dm.jar在${basedir}/src/main/resources/lib目錄下:
<dependency><groupId>dm</groupId><artifactId>dm</artifactId><scope>system</scope><version>1.0</version><systemPath>${basedir}/src/main/resources/lib/dm.jar</systemPath>
</dependency>
如果是打包war包,并且打包完成后需要把本地的${basedir}/src/main/resources/lib/dm.jar和線上下載的依賴整合到一個(gè)目錄的話,就還需要做如下配置:
<groupId>org.apache.maven.plugins</groupId><artifactId>maven-war-plugin</artifactId><configuration><webResources><resource><!--把本地lib里面的jar復(fù)制到lib--><directory>src/main/resources/lib</directory><targetPath>WEB-INF/lib/</targetPath><includes><include>**/*.jar</include></includes></resource></webResources></configuration>
</plugin>