THIS IS A TEST INSTANCE. ALL YOUR CHANGES WILL BE LOST!!!!
...
- Let Eclipse internal compiler handle the building of JMeter
- Source build paths:
- src/protocol/ftp
- test/src
- src/protocol/http
- src/protocol/java
- src/protocol/jdbc
- src/protocol/tcp
- src/monitor/components
- src/monitor/model
- src/components
- src/core
- src/examples
- src/functions
- src/htmlparser
- src/jorphan
- src/junit
- src/reports
- Exclude following files from building
- They have missing dependencies and are related to HTTP security which you are not probably interested in
- org/apache/jmeter/util/JsseSSLManager.java
- org/apache/jmeter/util/keystore/DefaultKeyStore.java
- org/apache/jmeter/util/keystore/PKCS12KeyStore.java
- Add libraries
- All jar files under lib/ folderThere is one missing dependency which causes start-up failure with message Caused by: java.lang.NoClassDefFoundError: org/apache/avalon/excalibur/i18n/ResourceManager if you try to configure logger. Get the jar file from http://mirrors.bevc.net/apache/excalibur/excalibur-i18n/binaries/ and place it to lib/
- To make logging to Eclipse console work, you need to comment out some code. Read more notes about this below. Class is org.apacha.jmeter.jorphan.logging.LoggingManager
- Exclude following files from building
No Format |
---|
public static void initializeLogging(Properties properties) {
if (logManager == null) {
logManager = new LoggingManager();
}
/* This following code caused me to lost 3 hours of working time
* and now I am extra frustrated
setFormat(properties);
// Set the top-level defaults
setTarget(makeWriter(properties.getProperty(LOG_FILE, "jmeter.log"), LOG_FILE));
setPriority(properties.getProperty(LOG_PRIORITY, "INFO"));
setLoggingLevels(properties);
// now set the individual categories (if any)
*
*/
setConfig(properties);// Further configuration
}
|
- Now Eclipse should build JMeter without errors (stop icons in source tree)
3. Set up your custom plug-in project
...
5. Also, you might want to modify class
Notes
I wasted 4 hours trying to get Jorphan logging to work. Jorphan overrides log4j normal configuration mechanism, but does it badly, making log activation impossible.
- There is one missing dependency which causes start-up failure with message Caused by: java.lang.NoClassDefFoundError: org/apache/avalon/excalibur/i18n/ResourceManager if you try to configure logger. Get the jar file from http://mirrors.bevc.net/apache/excalibur/excalibur-i18n/binaries/ and place it to lib/
2. Even after placing a correct logging file through jmeter.properties settings you get this
No Format |
---|
org.apache.avalon.framework.configuration.ConfigurationException: No log targets configured for the root logger.
at org.apache.avalon.excalibur.logger.LogKitLoggerManager.setupLoggers(LogKitLoggerManager.java:531)
at org.apache.avalon.excalibur.logger.LogKitLoggerManager.configure(LogKitLoggerManager.java:407)
at org.apache.jorphan.logging.LoggingManager.setConfig(LoggingManager.java:148)
at org.apache.jorphan.logging.LoggingManager.initializeLogging(LoggingManager.java:114)
at org.apache.jmeter.util.JMeterUtils.getProperties(JMeterUtils.java:133)
at org.apache.jmeter.JMeter.initializeProperties(JMeter.java:327)
at org.apache.jmeter.JMeter.start(JMeter.java:242)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.apache.jmeter.NewDriver.main(NewDriver.java:161)
|
My head was already hurting so badly that I didn't want to debug the problem further.