如何为在maven中设置的属性下声明的属性设置类路径

时间:2017-01-23 09:24:06

标签: maven pom.xml

我正在努力将ant build工具转换为maven工具。     Ant build.xml以下面的方式初始化了属性

<property name="home.dir" value="${basedir}"/>
<property name="external.dir" value="${home.dir}/external"/>

并在build.xml中设置了类路径,如下所示:

<target name="setClassPath">
    <path id="classpath_jars">
        <fileset dir="${external.dir}/log4j" includes="*.jar"/>
    </path>
</target>

请问如何在pom.xml中添加classpath?

2 个答案:

答案 0 :(得分:1)

您可以使用additionalClasspathElement中的pom.xml标记添加自定义类路径。

<additionalClasspathElement>${external.dir}/log4j</additionalClasspathElement>

答案 1 :(得分:1)

  

请问如何在pom.xml中添加classpath?

使用maven时不要关心手动定义类路径 在开始学习Maven时,你要内化的最基本的东西之一是:Maven遵循概念约定优于配置

对于类路径,这意味着,您在<dependencies>的{​​{1}}部分中添加的每个库(maven术语都是依赖项)都自动成为类路径的一部分。

pom.xml

如果您需要配置文件或图像作为类路径的一部分,请将它们放在项目的<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>de.so</groupId> <artifactId>csvProject</artifactId> <version>1.0.0</version> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <log4j.version>2.3</log4j.version> </properties> <dependencies> <dependency> <groupId>com.opencsv</groupId> <artifactId>opencsv</artifactId> <version>3.7</version> </dependency> <dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-lang3</artifactId> <version>3.4</version> </dependency> <dependency> <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j-api</artifactId> <version>${log4j.version}</version> <scope>compile</scope> </dependency> <dependency> <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j-core</artifactId> <version>${log4j.version}</version> <scope>runtime</scope> </dependency> </dependencies> </project> 文件夹中。

典型的入门Maven项目如下所示:

resources

有关更多信息,请查看Maven home或使用Google查找教程。