Ich bin auf dieses Problem gestoßen, als ich versucht habe, eine ausführbare Jar-Datei mit Maven in Intellij 12 zu erstellen. Es stellte sich heraus, dass die log4j-Eigenschaftendatei auf der Root-Ebene (von der aus die jar-Datei ausgeführt wurde) nicht gefunden werden konnte, weil die Java-Manifestdatei keinen Klassenpfad enthielt.
Zu Ihrer Information: Ich habe den Logger wie folgt erhalten:
Logger log = LogManager.getLogger(MyClassIWantedToLogFrom.class);
Und ich konnte es mit einer pom-Datei, die dies enthielt, zum Laufen bringen:
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<version>2.2-beta-5</version>
<configuration>
<archive>
<manifest>
<addClasspath>true</addClasspath>
<mainClass>com.mycompany.mainPackage.mainClass</mainClass>
</manifest>
<manifestEntries>
<Class-Path>.</Class-Path> <!-- need to add current directory to classpath properties files can be found -->
</manifestEntries>
</archive>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
</configuration>
<executions>
<execution>
<id>make-assembly</id>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
</execution>
</executions>
</plugin>