我正在研究一個具有Maven特性的小型RCP項目,現在我希望添加log4j依賴項。
爲此我所做的是:如何使用Maven在RCP應用程序中使用log4j?
- 添加log4j.properties裏面的項目bin文件夾下。 bin是生成所有類文件的文件夾。文件看起來像這樣:
# Root logger option
log4j.rootLogger=DEBUG, stdout, file
# Redirect log messages to console
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target=System.out
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n
# Redirect log messages to a log file, support file rolling.
log4j.appender.file=org.apache.log4j.RollingFileAppender
log4j.appender.file.File=C:\\Srijani\\Personal Workspace\\RCP\\EditorApp\\log\\Application.log
log4j.appender.file.MaxFileSize=5MB
log4j.appender.file.MaxBackupIndex=10
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n
- 添加這種依賴性在pom.xml中
- 在Java代碼我寫的是這樣的:
<dependencies>
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.17</version>
</dependency>
</dependencies>
import org.apache.log4j.Logger;
import com.app.editor.constants.Constants;
public class DatabaseConnection {
final static Logger logger = Logger.getLogger(DatabaseConnection.class);
}
此代碼編譯時不會產生任何問題。但是,運行代碼時,我得到這個錯誤:
!ENTRY org.eclipse.e4.ui.workbench 4 0 2016-01-13 13:50:35.397
!MESSAGE Unable to create class 'org.eclipse.ui.internal.e4.compatibility.CompatibilityView' from bundle '55'
!STACK 0
org.eclipse.e4.core.di.InjectionException: java.lang.NoClassDefFoundError: org/apache/log4j/Logger
at org.eclipse.e4.core.internal.di.MethodRequestor.execute(MethodRequestor.java:62)
注:我沒加任何東西MANIFEST.MF和build.properties。 請幫忙!
謝謝
更新:有問題,但不知道如何解決它。當我手動下載jar並將其設置到類路徑中時,我可以在Eclipse RCP中使用log4j。但是,當我嘗試通過Maven下載它時,它不起作用。任何想法爲什麼發生這種情況?
你得到的NoClassDefFoundError,更好您檢查,一旦Log4j- .jar文件被下載或不符合.m2目錄(庫)。此外,您必須聲明Log4j.properties文件以告知系統放置日誌文件的位置以及所有文件。 –
SubbaReddy
已經在C:\ Users \ me \ .m2 \ repository \ log4j \ log4j \ 1.2.17文件夾下載了log4j.jar文件夾 –
「REST項目具有Maven特性」是什麼意思?你如何管理RCP的依賴關係?你如何構建和運行你的RCP項目? – jhyot