Lessons Learned for 20-SEPT-2019

XStream Illegal Reflective Access If you are compiling with AdoptOpenJDK 11, you might hit –  “Illegal reflective access” com.thoughtworks.xstream.converters.collections.TreeMapConverter If your build and your dependencies don’t show xstream in it, check your plugins:mvn dependency:resolve-plugins -f fhir-parent/pom.xml | grep -B20 -i xst[INFO] Plugin Resolved: maven-war-plugin-3.2.3.jar[INFO] Plugin Dependency Resolved: maven-plugin-api-3.0.jar[INFO] Plugin Dependency Resolved: maven-core-3.0.jar[INFO] Plugin Dependency Resolved: […]

Sonarcube – Maven and Docker analysis

SonarLint is one tool I gravitate towards – inline analysis of my code in Eclipse.  I have finally broken down and investigated using Sonarcube with maven – the heavy weight tool for evaluating code.  It’s exciting. You need to pull your sonarqube docker. You can find more details at https://hub.docker.com/_/sonarqube/?tab=description :~/my-repo$ docker pull sonarqube Using […]

Changing a Keystore and Key’s Password

Create a list of keystores cat << EOF > keystore-list.txttestTruststore.jkstestKeystore.jksEOF Iterate over the list to check status and process for KEYSTORE in `cat keystore-list.txt`do echo $KEYSTORE[ ! -f $KEYSTORE ] && echo NOT VAL=”`cat $KEYSTORE | wc -l`”[ ${VAL} -eq “1” ] && echo NOT_RIGHT# show the private key / trust key keytool -keystore $KEYSTORE […]

EAR Projects Generated for JavaEE Import

Importing my project into Eclipse, I found so many additional EAR projects were being generated. To stop this feature, I went to Eclipse > Preference > Maven > Java EE Integration and unchecked Enable Java EE Configuration. I removed the cached EAR projects (deleting from disk) and removed the regular projects, and imported again.  Voila…. […]

Maven Surefire runs out of memory

I’m running a complicated integration test, and needed to allocate memory appropriately – MAVEN_OPTS was used to increase memory, and I still ran into an issue with MAVEN out-of-memory.  To fix the issue, I had to use the Surefire argsline:  <plugins>   <plugin>      <groupId>org.apache.maven.plugins</groupId>      <artifactId>maven-surefire-plugin</artifactId>      <configuration>         <argLine>-Xms2G -Xmx2G</argLine>      </configuration>   </plugin></plugins>

Async JAX-RS: Quick Tips…

This article outlines the use of Jetty with JAX-RS Async. Use the webapp archetype and create the webapp in the specific archetype version. mvn archetype:generate -DgroupId=org.bastide -DartifactId=webapp -DarchetypeArtifactId=maven-archetype-webapp -DarchetypeVersion=1.4 When prompted, confirm details: [INFO] Using property: groupId = org.bastide [INFO] Using property: artifactId = webapp Define value for property ‘version’ 1.0-SNAPSHOT: : 1.0-SNAPSHOT [INFO] Using […]

Code Graph showing the Layout of the Code base

I’ve been mixing data analysis and Java programming recently.  I wrote a tool to do the analysis (Maven/Python). Here is the obfuscated output of the analysis, showing the hotspots.  I opted to show a thumbnail of the image here to protect the confidentiality of the project.  The generated image was also 78 Megabytes.  (a bit […]