2014-09-24 5 views
1

Я использую Eclipse и Maven в этом проекте. Мне нужно сохранить файл log4j.properties для изменения после того, как код будет упакован в файл JAR, поэтому я не могу поместить этот файл в src/main/resources, как указано в this post.Как изменить расположение log4j.properties в проекте Maven?

Я нашел this post, говоря, что могу добавить аргументы в свой Java-вызов, но я действительно хотел сделать это по конфигурации (если возможно, конечно).

This reply К первой упомянутой записи было самым близким решением, которое я нашел. Он показывает, как сделать файлы свойств экспортированными вместе с файлом пакета JAR.

Однако я не могу заставить его работать, когда я помещаю файл свойств в папку с именем CONF. Кто-нибудь может сказать, что я делаю неправильно? Проверьте ниже мою структуру проекта и часть моего pom.xml.

Project Structure http://oi62.tinypic.com/imuwxv.jpg.

<build> 
    <resources> 
     <resource> 
      <directory>src/main/resources</directory> 
      <targetPath>${basedir}/target</targetPath> 
      <includes> 
       <include>conf/log4j.properties</include> 
       <include>conf/configuracoes.properties</include> 
       <include>conf/aws.properties</include> 
      </includes> 
     </resource> 
    </resources> 
    <pluginManagement> 
     <plugins> 
      <plugin> 
       <groupId>org.apache.maven.plugins</groupId> 
       <artifactId>maven-jar-plugin</artifactId> 
       <version>2.2</version> 
      </plugin> 
      <plugin> 
       <groupId>org.apache.maven.plugins</groupId> 
       <artifactId>maven-assembly-plugin</artifactId> 
       <version>2.2</version> 
       <configuration> 
        <descriptorRefs> 
         <descriptorRef>jar-with-dependencies</descriptorRef> 
        </descriptorRefs> 
        <archive> 
         <manifest> 
          <mainClass>br.com.aplicacao.ProgramLauncher</mainClass> 
         </manifest> 
         <manifestEntries> 
          <Class-Path>./conf</Class-Path> 
         </manifestEntries> 
        </archive> 
       </configuration> 
       <executions> 
        <execution> 
         <phase>package</phase> 
         <goals> 
          <goal>single</goal> 
         </goals> 
        </execution> 
       </executions> 
      </plugin> 
     </plugins> 
    </pluginManagement> 
</build> 

ответ

1

Проблема решена. Некоторые строки отсутствовали в моем файле POM, прямо в дереве project.

<properties> 
    <log4j.configuration>conf/log4j.properties</log4j.configuration> 
</properties> 
0

В моем случае настройки с ./conf не работал с log4j, но после того, как я изменил ./conf/ это было ОК.