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

原文地址:https://www.cnblogs.com/mediocreWorld/p/15145865.html