引入外部/本地JAR包

依赖引入

 <dependency>
     <groupId>dom4j</groupId>
     <artifactId>dom4j</artifactId>
     <version>2.1.3</version>
     <scope>system</scope>
     <systemPath>${project.basedir}/src/main/resources/lib/dom4j-2.1.3.jar</systemPath>
</dependency>

<dependency>
    <groupId>jaxen</groupId>
    <artifactId>jaxen</artifactId>
    <version>1.2.0</version>
    <scope>system</scope>
    <systemPath>${project.basedir}/src/main/resources/lib/jaxen-1.2.0.jar</systemPath>
</dependency>

reload maven

  • 如下图所示则表示成功导入依赖

wiCEuQ.png

打包时忽略测试文件和配置文件

<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <configuration>
                <source>1.8</source>
                <target>1.8</target>
                <excludes>
                    <!--打包部署时不需要内部配置文件,读取外部配置文件-->
                    <exclude>application.properties</exclude>
                    <exclude>logback-spring.xml</exclude>
                </excludes>
            </configuration>
        </plugin>
    </plugins>
</build>

自定义远程仓库

<dependencies>
    <dependency>
        <groupId>com.google.guava</groupId>
        <artifactId>guava</artifactId>
        <version>29.0-jre</version>
    </dependency>
</dependencies>
<repositories>
    <repository>
        <id>maven</id>
        <name>maven</name>
        <url>https://repo1.maven.org/maven2/</url>
        <releases>
            <enabled>true</enabled>
        </releases>
        <snapshots>
            <enabled>false</enabled>
        </snapshots>
    </repository>
</repositories>

POM中的常用路径属性

  • ${project.build.sourceDirectory}:项目的主源码目录,默认为 src/main/java
  • ${project.build.testSourceDirectory}:项目的测试源码目录,默认为 src/test/java
  • ${project.build.directory}:项目构件输出目录,默认为 target/
  • ${project.outputDirectory}:项目主代码编译输出目录,默认为 target/classes/
  • ${project.testOutputDirectory}:项目测试代码编译输出目录,默认为 target/test-classes/
  • ${project.groupId}:项目的 groupId
  • ${project.artifactId}:项目的 artifactId
  • ${project.version}:项目的 version,与1.9.1等价
  • ${project.build.fianlName}:项目打包输出文件的名称。默认为${project.artifactId}-${project.version}
  • ${project.basedir}:项目的根目录,最顶层目录