2022-08-05 Maven使用的一些总结

1. POM中packaging的定义

如果是“pom”,那无论如何也是编译不出jar文件的。


  4.0.0
  com.xyz
  LombokStyleAnnotation
  1.0
  ** jar **
...........

2. 引用本地jar文件,可以使用下面的方法

1)首先定义路径

    
        C:\git_repo\LombokEnhance\LombokStyleAnnotation
    

2)定义dependency
注意scope处使用“system”,systemPath定义jar所在路径

        
            com.xyz
            LombokStyleAnnotation
            1.0
            ** system **
            ** ${LombokStyleAnnotation.path}/target/LombokStyleAnnotation-1.0.jar **
        

3. 下面不是Maven的使用了,是IDEA中调试Annotation Processing的方法

参考链接:
https://www.cnblogs.com/theRhyme/p/13392944.html

4. dependency的scope使用

        
            org.slf4j
            slf4j-log4j12
            1.7.25
            *** test ***
        

上述配置导致运行Class时,使用的jar file没被放到classpath上面。删掉scope即可,删掉后使用的是默认scope: compile。
下面看一下所有的可选的scope值:

  • compile 默认的scope
    表示 dependency 可以在生命周期中使用。而且这些dependencies 会传递到依赖的项目中。
  • provided
    跟compile相似,但是表明了dependency 由JDK或者容器提供。
  • runtime
    表示dependency不作用在编译时,但会作用在运行和测试时
  • test
    表示dependency作用在测试时,不作用在运行时。
  • system (见2-2)
    跟provided 相似,但是在系统中要以外部JAR包的形式提供,maven不会在repository查找它。
  • import (Maven 2.0.9 之后新增)
    它只使用在中,表示从其它的pom中导入dependency的配置

参考:https://www.jianshu.com/p/a4fc54b5a6bf

你可能感兴趣的:(2022-08-05 Maven使用的一些总结)