Sunday, December 10, 2017

Maven build failed with "Fatal error compiling: invalid target release: 1.8 -> [Help 1]"

The below build failed error popped-up  when I try to build (use mvn clean install) the project with Maven.

Error log:

INFO] ------------------------------------------------------------------------
INFO] BUILD FAILURE
INFO] ------------------------------------------------------------------------
INFO] Total time: 3.390 s
INFO] Finished at: 2017-12-09T16:33:24+05:30
INFO] Final Memory: 9M/150M
INFO] ------------------------------------------------------------------------
ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.2
:compile (default-compile) on project dpc-portal: Fatal error compiling: invalid
 target release: 1.8 -> [Help 1]
ERROR]

The reason was, I set JAVA_HOME to the JDK 1.7 (as in below image) but try to build using JDK 1.8. So after change the JAVA_HOME to JDK 1.8 version, project was built successfully.



Reference:
https://stackoverflow.com/questions/28291691/fatal-error-compiling-invalid-target-release-1-8-help-1

Wednesday, November 8, 2017

Enable Wire Logs in WSO2 ESB

In Some situations need to check the incoming(to ESB) or outgoing(from ESB) HTTP headers and the messages. The Wire log functionality is there to handle this requirement. Main underlying transport mechanism of ESB is Passthrough HTTP Transport which handles the HTTP and HTTPS messages. Hence, it can enable wire logs for Passthrough HTTP Transport as below.


WSO2 ESB 4.7.0 or higher versions.


1. Open log4j.properties file.
log4j.properties file is located in <EBB_HOME>/repository/conf directory.

2. Un-comment the following entry.
log4j.logger.org.apache.synapse.transport.http.wire=DEBUG

3. Save the file and restart the server to affect the changes.

In the older versions, it is bit different than the new versions.


For ESB 4.6.0 :
log4j.logger.org.apache.synapse.transport.passthru.wire=DEBUG

For ESB 4.5.1 or previous versions :
log4j.logger.org.apache.synapse.transport.nhttp.wire=DEBUG

To see HTTP headers and messages of Callout mediator/MessageProcessor.


1. Open log4j.properties file.

2. Un-comment the following two entries.

log4j.logger.httpclient.wire.header=DEBUG
log4j.logger.httpclient.wire.content=DEBUG

3. Save the file and restart the server to affect the changes.

NOTE: Wire logs should enable only for a troubleshooting purposes, not recommended for the systems in the production environment.