2017-01-23 9 views
0

Я работаю над преобразованием из инструмента сборки муравьев в инструмент maven. Ant build.xml инициализирует свойства ниже в путиКак установить classpath для свойств, объявленных в свойствах, установленных в maven

<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> 

Не мог бы вы мне помочь, как добавить в пути к классам П. XML?

ответ

1

Вы можете добавить собственный путь к классу, используя additionalClasspathElement тег в pom.xml.

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

Почему бы не добавить log4j в качестве зависимости от проекта? Имеет ли смысл работать против принципа ** соглашения по конфигурации **? – JimHawkins

+0

- это решение, но @user задал вопрос о настройке пути к классу. –

+1

, конечно, он сделал, но он новичок с maven. Поэтому мы должны указать на принципы maven – JimHawkins

1

Не могли бы вы мне помочь, как добавить в pom.xml классов?

Не заботьтесь о том, чтобы вручную определять путь к классам при использовании maven.
Одним из самых основных вещей, которые вы интернализации при запуске обучения Maven является: Maven следует концепции конвенции по конфигурации

Для это означает путь к классам, что каждая библиотека (термин Maven является зависимость), которая вы добавляете в раздел <dependencies> из 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> 

Если вам нужен конфигурационный файл или изображение, чтобы быть частью пути к классам, поместите их в папку resources вашего проекта.

Типичный стартовый проект Maven выглядит следующим образом:

csvProject 
| pom.xml 
| 
+---src 
| +---main 
| | +---java 
| | | \---de 
| | |  \---so 
| | |    CsvExample.java 
| | | 
| | \---resources 
| | | \---images 
| | | |   logo.png 
| | | | some.properties 
| | | \---de 
| |   \---so 
| |     more.properties 
| \---test 
|  \---java 

Для получения дополнительной информации смотрите на Maven home или использовать Google, чтобы найти учебник.