skills_maven

skills_maven

1 如何引入本地jar包,并且maven打包时自动打包到系统运行jar/war包内

按照网上资料,试过下面截图中的方法,但是无法maven打包到jar/war包内:

后来发现可以这样:在pom.xml中引入如下依赖即可解决:

<dependency>
    <groupId>com.study</groupId>
    <artifactId>bbcodec</artifactId>
    <version>0.0.1</version>
    <scope>system</scope>
    <!-- ${basedir}指该项目所在的根路径; .. 代表 ${basedir} 的上一级目录 -->
    <systemPath>${basedir}/../lib/banboocloud_Codec-0.0.1.jar</systemPath>
</dependency>

2 pom.xml中的scope的作用

pom.xml配置文件中,<dependency>中的<scope>,它主要管理依赖的生效范围。目前 <scope> 可以使用5个值:

  • compile,缺省值,适用于所有阶段,会随着项目一起发布。
  • provided,类似compile,期望JDK、容器或使用者会提供这个依赖。如servlet.jar。
  • runtime,只在运行时使用,如JDBC驱动,适用运行和测试阶段。
  • test,只在测试时使用,用于编译和运行测试代码。不会随项目发布。
  • system,类似provided,需要显式提供包含依赖的jar,Maven不会在Repository中查找它。

其中,scope为test时,在eclipse和idea中还有点区别:
在eclipse中,无论在哪个路径下都可以使用@Test等注解,但是在idea中,只能在src/test/java/下的java类可以使用@Test等注解,如果在src/main/java/中使用,则会找不到这些注解。

3 optional标签的作用

		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-devtools</artifactId>
			<!-- 表示依赖不会传递 -->
			<optional>true</optional>
		</dependency>

4

5

6

posted @ 2021-08-16 02:43  mediocrep  阅读(140)  评论(0编辑  收藏  举报
既然选择了远方,便只顾风雨兼程!