Tag: Java
-
Maven: Deploying Java Sources to Nexus
By default, mvn deploy will only package and deploy class JAR to Nexus. To deploy the source code too, we need to add the following plugin into pom.xml:- Now, mvn deploy will deploy both class JAR and source code JAR to Nexus:- In IntelliJ, when jumping into a class from the JAR, we are given… Read More…
-
Spring Web Services: Client Integration Testing with MockWebServiceServer
Spring Web Services provides a great way to perform web service client integration tests. However, the example in the documentation requires the client class to extend org.springframework.ws.client.core.support.WebServiceGatewaySupport, which is rather ugly. Instead, I prefer to have WebServiceTemplate injected into my client class. So, I made a slight tweak to my integration test to work this… Read More…
-
SonarQube: Building Specific Module in Multi-Module Project
Let’s assume we have a multi-module project that looks something like this:- To build certain module(s) within the project, we can use the sonar.skippedModules option to skip the modules we don’t need. For example, the following configuration in Jenkins will only build app-jar module in SonarQube:- Read More…
-
IntelliJ: Auto-generating POJO Builder
I have been searching for an elegant way to auto-generate a POJO fluent builder with minimal typing and configuration. A builder is a great way to promote object immutability, however it is also a pain to create and mantain yet another class that looks almost like the POJO class we create. There are a few… Read More…
-
FindBug: Solving DM_DEFAULT_ENCODING Warning When Using FileWriter
PROBLEM Let’s assume we have the following code to write some data into a file:- When running this code against a static code analysis tool, such as Findbugs, we get this high priority warning:- The Javadoc for FileWriter says:- Obviously, this class is too convenient and FindBugs is not happy about it. Further, there is… Read More…
-
Comparing Disassembled Java Class From JVM Languages
All JVM languages come with some degrees of syntactic sugar to make the code easier to read and write. To satisfy my curiosity, I decided to run javap command to disassemble the bytecode inside the class file generated from several JVM languages. The chosen languages are Java, Groovy, Scala, JRuby and Rhino. I left out… Read More…