log4j, плагин maven jar и файл свойств - PullRequest
1 голос
/ 01 февраля 2011

Я создаю банку с плагином maven-jar-plugin.Я не могу на всю жизнь заставить этот jar-файл читать файл свойств log4j, который находится в том же каталоге, что и мой jar-файл.Мои шаги:

  1. пакет mvn
  2. скопировать log4j.properties в целевой каталог dir
  3. java -Dlog4j.configuration = log4j.properties -cp.-jar Myjar

Я пробовал несколько вариантов этого.Кажется, что это должно быть легко сделать.

FWIW вот соответствующая часть моего POM:

        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-jar-plugin</artifactId>
            <configuration>
                <archive>
                    <manifest>
                        <mainClass>loadtester.TestClient</mainClass>
                        <packageName>loadtester</packageName>
                        <addClasspath>true</addClasspath>
                        <classpathPrefix>dependency</classpathPrefix>
                    </manifest>
                </archive>
            </configuration>
        </plugin>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-dependency-plugin</artifactId>
            <executions>
                <execution>
                    <id>copy-dependencies</id>
                    <phase>process-resources</phase>
                    <goals>
                        <goal>copy-dependencies</goal>
                    </goals>
                </execution>
            </executions>
        </plugin>

Ответы [ 2 ]

3 голосов
/ 01 февраля 2011

При вызове java -jar, -cp записи игнорируются .Таким образом log4j.properties не читается.

Как уже упоминал @Dave, вы можете включить log4j.properties в банку.Кроме того, вы можете попробовать следующее

java -Dlog4j.configuration=file://full/path//of/log4j.properties -jar Myjar
1 голос
/ 01 февраля 2011

попробуйте скопировать его в target / classes

Есть ли какая-либо причина, по которой у вас его нет в вашем источнике в src / main / resources / log4j.properties?

...