knowledge_maven

目录

1 maven中的pom.xml中的scope的作用

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

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

其中,scope为test时,在eclipse和idea中还有点区别:

在eclipse中,无论在哪个路径下都可以使用@Test等注解,
但是在idea中,只能在src/test/java/下的java类可以使用@Test等注解,如果在src/main/java/中使用,则会找不到这些注解。

2 idea2018.3.6,离线使用maven的方法

  1. 想办法拷贝联网电脑上已经下载好的仓库文件夹mavenRepository到离线环境的电脑上;

  2. idea中按照如下图中配置:
    knowledge_maven

  3. 打开 User settings file中设置的settings.xml文件,取消所有的<proxies>, <mirrors>设置,然后在<mirrors>中增加以下设置(设置本地仓库为在线仓库):

    <mirror>
      <id>repo1</id>
      <name>central</name>
      <mirrorOf>*</mirrorOf>
      <url>file://D:/Develop/mavenRepository</url>
    </mirror>
  1. idea中reimport按钮,多点几次。
    注: 之所以这么配置,是为了package打包时,需要验证下载下载了所有的jar包,直接可以从本地验证,不会报错。
    另外,最好自己新建maven工程,不要直接打开或导入工程,后者可能会有问题。

3

4

5

上一篇:Leetcode 5714:替换字符串中的符号内容


下一篇:【DNA】2020-CVPR-Blockwisely Supervised Neural Architecture Search with Knowledge Distillation-论文阅读