Migration Toolkit for Application Binaries...The command-line tool supports migrating from Java SE 5...

22
Version 9.0 Release 20.0.0.1 IBM WebSphere Application Server Migration Toolkit for Application Binaries IBM

Transcript of Migration Toolkit for Application Binaries...The command-line tool supports migrating from Java SE 5...

Version 9.0 Release 20.0.0.1

IBM WebSphere Application ServerMigration Toolkitfor Application Binaries

IBM

Contents

Overview...............................................................................................................3What's new in the Migration Toolkit for Application Binaries................................... 5Installing the Migration Toolkit for Application Binaries..........................................6Application Migration Report .................................................................................7Application Technology Evaluation Report............................................................. 9Application Inventory Report .............................................................................. 11Detailed Migration Analysis Report ......................................................................13Configuration Migration....................................................................................... 15JVM command-line properties and options...........................................................17Troubleshooting.................................................................................................. 19

Troubleshooting the binary scanner......................................................................................................... 19

Copyright and trademarks................................................................................... 20

ii

Overview

The Migration Toolkit for Application Binaries is the newest tool in the IBM® WebSphere® ApplicationServer Migration Toolkit. The tool includes scanning capability to quickly evaluate application binaries forrapid deployment on WebSphere Application Server traditional and Liberty. This command-line toolenables administrators to evaluate applications in minutes without accessing the source code. The toolcan generate the following reports and configuration file:

• Application Technology Evaluation Report• Application Inventory Report• Application Migration Report• Detailed Migration Analysis Report• Liberty Configuration

The tool can either display an HTML report, or save the report as an HTML or JSON file. The Libertyconfiguration file can only be generated as an XML file. When migrating to Liberty, the server.xml file willbe generated under the Liberty Configuration section of the report. If you are migrating betweenWebSphere traditional versions, a separate wsadmin script is generated when configuration is discovered.

Application Migration Report

The Application Migration Report combines the content of the Application Technology Evaluation Report(--evaluate), the Detailed Migration Analysis Report (--analyze), the Application Inventory Report(--inventory), and the WebSphere configuration file (--generateConfig). The Application MigrationReport is generated with the --all action, which is the new default action. The Application TechnologyEvaluation Report can still be generated by specifying the --evaluate action explicitly.

Application Technology Evaluation Report

The Application Technology Evaluation Report identifies the Java™ EE programming models in theapplication and provides a recommendation for the right-fit IBM WebSphere Application Server edition.This report is also provided by the Eclipse-based migration toolkit using the Eclipse menu bar Run >Generate Application Technology Evaluation Report.

Application Inventory Report

The Application Inventory Report contains a high-level inventory of the content and structure of eachapplication and information about potential deployment problems and performance considerations. Thisinformation is useful in determining the complexity of your applications and can be used along with theWebSphere Application Server Migration Discovery Tool to produce a migration estimate.

Detailed Migration Analysis Report

The Detailed Migration Analysis Report highlights Java EE programming model and WebSphere APIdifferences between different versions of WebSphere Application Server traditional and Liberty.The tooloffers advice and potential solutions to assess the ease of moving applications from one version ofWebSphere traditional to another, as well as to Liberty. The tool also supports migrating from JBoss,WebLogic, Apache Tomcat and other third-party servers. In addition, it informs you of any Java EEspecification implementation differences that could affect your applications. If you are moving anapplication to a cloud platform, the tool offers additional advice, suggestions, and best practices toensure that the application runs correctly in those environments.

This report flags rules in the the following rule categories, which were introduced by the Eclipse-basedmigration toolkit:

• All application servers

© Copyright IBM Corp. 2014, 2020 3

• Apache Tomcat to WebSphere migration• Connectivity considerations for IBM Cloud• Docker (IBM Cloud Kubernetes Service)• Framework migration• Java EE 6• Java EE 7• Java EE 8• Java SE version migration• Java Technology Support for Liberty• Java Technology Support for Liberty Core• JBoss to WebSphere migration• Liberty for Java on IBM Cloud• Liberty on third-party PaaS• Other third-party servers• Technology connectivity considerations for IBM Cloud• WebLogic to WebSphere migration• WebSphere traditional to Liberty• WebSphere traditional to Liberty Java EE 6• WebSphere version migration

The command-line tool supports migrating from Java SE 5 or later and WebSphere Application ServerVersion 6.1 or later. To flag rules for earlier versions of Java or WebSphere Application Server, use theEclipse-based WebSphere Application Server Migration Toolkit on your application source.

Liberty Configuration

The Liberty configuration file is generated and includes configuration needed in a Liberty server based onscanning application binaries and WebSphere configuration. Use this file to configure your Liberty serverby copying the content to the Liberty server.xml file, or use the <include> element to include it in theserver configuration.

Additional resources

For detailed information about the rules included in the relevant categories, see the WebSphereApplication Server Migration Toolkit documentation.

The WASdev Migration page provides an overview of all the tools, videos, and resource links.

The WebSphere Migration Knowledge Collection: Planning and Resources provides information on allaspects of WebSphere Application Server migration.

For comprehensive information on WebSphere Application Server migration topics, including examples ofusing the migration toolkit, see the WebSphere Application Server V8.5 Migration Guide.

4 Migration Toolkit for Application Binaries

What's new in the Migration Toolkit for Application Binaries

New Java SE 13 Migration

Rule addtions to the Java SE 13 non-LTS migration option.

Configuration Migration Support for --sharedLibraries Option

The --generateConfig action now supports the --sharedLibraries option. While generating config--sharedLibraries can be set to a comma-separated list of shared library paths used by anapplication.

Support

Bug and field support fixes were added to this release.

© Copyright IBM Corp. 2014, 2020 5

Installing the Migration Toolkit for Application Binaries

The Migration Toolkit for Application Binaries is a command-line tool which requires a Java 7 or 8JRE/JDK to run. We recommend upgrading to the latest Java update if you notice performance issuesrunning the binary scanner.

You can install the tool from a repository archive file that you download, as described in the followingsteps:

1. Download the Migration Toolkit for Application Binaries from the WASdev website, https://public.dhe.ibm.com/ibmdl/export/pub/software/websphere/wasdev/downloads/wamt/ApplicationBinaryTP/binaryAppScannerInstaller.jar.

2. Run the following command and follow the prompts to install the Migration Toolkit for ApplicationBinaries.

java -jar binaryAppScannerInstaller.jar

After you accept the license agreement and specify the target directory for the installation, the tool isinstalled in the <target directory>/wamt directory.

6 Migration Toolkit for Application Binaries

Application Migration Report

The Migration Toolkit for Application Binaries can generate a consolidated migration report that containsthe content of the Application Technology Evaluation Report, the Application Inventory Report, theDetailed Migration Analysis Report, and the WebSphere configuration. This report makes it easier thanever to analyze your application binaries for migration to later releases of WebSphere traditional orLiberty.

The beginning of the report contains a technology evaluation summary, which indicates which IBMplatforms support the technologies used by the application, and a rule severity summary that shows howmany rules and rule results are flagged for each rule severity. The default report shows migration resultsfor migrating from WebSphere Application Server V8.5.5 and Java SE 6 to Liberty and Java SE 8. Youshould modify the source and target options to fit your migration scenario.

After determining whether your target platform is fully supported for your application, explore the detailsin the Technology Evaluation Details section. Any technology that is not supported for your targetplatform is linked to an analysis rule in the Detailed Migration Analysis section. For each analysis rule,detailed help is provided that describes the migration issue and any possible resolution. The analysis ruleresults list the affected files along with the match criteria, the method name if applicable, and the linenumber if available. Line numbers are only available for results that occur within a method body.

The Detailed Migration Analysis section of the report contains all the migration issues that are flagged forthe application. All severe migration issues must be addressed, and warning migration issues must beevaluated to determine if changes to the application are necessary. Information migration issues areitems to be aware of, such as the use of deprecated APIs that could be removed in a later release.

The Inventory section of the report contains a high-level inventory of the content and structure of eachapplication and information about potential deployment problems and performance considerations.

Finally, if your target platform is Liberty, the Liberty Configuration section of the report includesconfiguration for the Liberty server based on scanning application binaries and WebSphere traditionalconfiguration. If you are migrating between WebSphere traditional versions, a separate wsadmin script isgenerated when configuration is discovered. See the Configuration Migration section for more details.

The only required parameter is the binaryInputPath, which is an absolute or relative path to a .ear or .warfile, or to a directory that contains .ear and .war files. If the binaryInputPath is to a deployed application ina WebSphere traditional installation, additional configuration will be generated.

If no application server options are specified, then --sourceAppServer=was855 and --targetAppServer=liberty are the default.

It is best practice to identify your custom application class packages with the --includePackages option.By doing so, you avoid scanning Java EE and third-party packages which should not affect your migrationeffort. If no --includePackages or --excludePackages options are specified, the tool excludes Java EE andsome third-party packages by default. These packages are identified as scan options near the beginningof the report.

Run commands from the wamt directory in your Migration Toolkit for Application Binaries installation. Fora complete list of supported options for evaluating your application, run the following command:

java -jar binaryAppScanner.jar --help --all

The following examples demonstrate different ways to generate the report using the command options:• To display the default report, an HTML report for a migration from WebSphere Application Server

traditional V8.5.5 to Liberty, run the following command:

java -jar binaryAppScanner.jar binaryInputPath

• To save the report to a specific file, additionally specify the --output parameter with a file name. If thefile name is not fully qualified, the file is created in the current directory.

© Copyright IBM Corp. 2014, 2020 7

For example, the following command outputs the report to the /MyAppDir/MyAppReport.html file.

java -jar binaryAppScanner.jar MyApp.ear --all --sourceAppServer=was70 --targetAppServer=liberty --targetCloud=cfIBMCloud --output=/MyAppDir/MyAppReport.html

• To create a JSON-formatted report file with the default name ofMyApp.war_MigrationReport.json in the current directory where binaryInputPath is set to /MyAppDir/MyApp.war, run the following command:

java -jar binaryAppScanner.jar /MyAppDir/MyApp.war --all --format=json

• To exclude specific files, directories, or archives from being scanned, specify the --excludeFilesparameter with a regular expression. In order for the regular expression to match successfully, it isimportant to make sure the specified pattern performs complete matches rather than partial matches.For example, the following command will exclude everything contained in a resource directory file.

java -jar binaryAppScanner.jar MyApp.ear --all --sourceAppServer=was70 --targetAppServer=liberty --excludeFiles=.*/resource/.*

Figure 1. Application Migration Report in HTML format

The Liberty Configuration section is only included in the report when the target platform is Liberty. Whenmigrating between WebSphere traditional versions, a separate wsadmin script is generated in the samedirectory as the report.

8 Migration Toolkit for Application Binaries

Application Technology Evaluation Report

The Migration Toolkit for Application Binaries can generate a report that helps to evaluate the Javatechnologies that are used by your application. The report gives a high-level review of the programmingmodels found in the application and the WebSphere products that support these programming models.

To generate this report from the command line, the binaryInputPath parameter and --evaluate actionare required.

• The binaryInputPath parameter is an absolute or relative path to a Java EE archive, Java archive ordirectory that contains those archives. If you specify a directory that contains multiple Java or JavaEEarchive files, the report contains a section for each archive file with details on the technologies used andprovides a summary with the right-fit IBM platforms for each archive file.

• The --evaluate action generates the Application Technology Evaluation Report.

Run commands from the wamt directory in your Migration Toolkit for Application Binaries installation. Fora complete list of supported options for the evaluation report, run the following command:

java -jar binaryAppScanner.jar --help --evaluate

The following examples demonstrate different ways to generate the report using the command options:• To display the HTML report, run the following command:

java -jar binaryAppScanner.jar binaryInputPath --evaluate

• To save the report to a specific file, additionally specify the --output parameter with a file name. If thefile name is not fully qualified, the file is created in the current directory.For example, the following command outputs the report to the MyReport.html file in the currentdirectory.

java -jar binaryAppScanner.jar binaryInputPath --evaluate --output=MyReport.html

• To create a JSON-formatted report file with the default name ofMyAppDir_TechnologyReport.json in the current directory where binaryInputPath is set to /MyAppDir, run the following command:

java -jar binaryAppScanner.jar /MyAppDir --evaluate --format=json

© Copyright IBM Corp. 2014, 2020 9

Figure 2. Application Technology Evaluation Report in HTML format

The columns in the HTML report vary depending on the options specified, and the rows in the report varydepending on the application.

10 Migration Toolkit for Application Binaries

Application Inventory Report

The Migration Toolkit for Application Binaries can generate a report that contains a high-level inventory ofthe content and structure of each application and information about potential deployment problems andperformance considerations. The report includes a dashboard that reports the number and types ofarchives found. The counts of Java Servlets, JSP files, JPA entities, EJB beans, and web services arereported per application as well as in an overall summary. For each archive, the Java EE module type isincluded. The version and metadata-complete attribute values from the deployment descriptor are alsoincluded if specified. And for utility JAR files, the contained packages are reported up to and including thethird sub package.

The report also includes a section for each application about potential deployment problems. The tooldetects the following issues:

• Duplicate classes within the application• Java EE or SE classes that are packaged with the application• Open Source Software (OSS) classes that are packaged with the application• WebSphere classes that are packaged with the application• Unused archives that are packaged with the application• Dependent classes that are not packaged with the application• Shared libraries referencing application classes• System level JVM configuration

The performance considerations section of the report identifies issues that affect applicationperformance. For each application, the tool detects the following issues:

• Archives without a metadata-complete attribute set to true• Web modules that contain excessive class files• Web modules that contain excessive static resources

When you choose HTML for the format of the report, a bar chart is provided for each application to give aquick graphical summary of the contents found per archive. This data is also represented in the tables.When viewing the HTML report while connected to the internet, an interactive tree diagram is alsoprovided to give a graphical view of the structure of the application.

To generate this report from the command line, the binaryInputPath parameter and --inventory actionare required.

• The binaryInputPath parameter is an absolute or relative path to a to a .ear or .war file, or to a directorythat contains .ear and .war files. Only deployable applications are included in the Application InventoryReport.

• The --inventory action generates the Application Inventory Report.

Run commands from the wamt directory in your Migration Toolkit for Application Binaries installation. Fora complete list of supported options for the inventory report, run the following command:

java -jar binaryAppScanner.jar --help --inventory

The following examples demonstrate different ways to generate the report using the command options:• To display the default report in HTML, run the following command:

java -jar binaryAppScanner.jar binaryInputPath --inventory

• To save the report to a specific file, additionally specify the --output parameter with a file name. If thefile name is not fully qualified, the file is created in the current directory.

© Copyright IBM Corp. 2014, 2020 11

For example, the following command outputs the report to the MyInventoryReport.html file in thecurrent directory.

java -jar binaryAppScanner.jar MyApp.ear --inventory --output=MyInventoryReport.html

• To create a JSON-formatted report file with the default name ofMyAppDir_InventoryReport.json in the current directory where binaryInputPath is set to /MyAppDir, run the following command:

java -jar binaryAppScanner.jar /MyAppDir --inventory --format=json

• To include external dependencies in the application scan, use the --sharedLibraries option with abinaryInputPath that contains a single archive as shown in the following command:

java -jar binaryAppScanner.jar /MyAppDir/MyApp.ear --inventory --sharedLibraries=/dir1,/dir2/Lib.jar

Figure 3. Application Inventory Report in HTML format

If you encounter an error while printing the HTML report, select Expand all by the Inventory Details byApplication header and try the print command again.

12 Migration Toolkit for Application Binaries

Detailed Migration Analysis Report

The Migration Toolkit for Application Binaries can generate an analysis report that contains details aboutpotential migration issues in your application. The tool helps you quickly and easily evaluate WebSphereApplication Server traditional applications for their readiness to run on Liberty in both cloud and on-premises environments. The tool also supports migrating from JBoss, WebLogic, Apache Tomcat andother third-party application servers and between versions of WebSphere traditional, starting withWebSphere Application Server Version 6.1.

The report gives details about which rules were flagged for your application binaries. For each flaggedresult, the report lists the affected file along with the match criteria, the method name if applicable, andthe line number if available. Line numbers are only available for results that occur within a method body.

To generate this report from the command line, the binaryInputPath parameter and --analyze actionare required.

To generate this report and run rules pertaining only to JavaSE migration, you can specify thebinaryInputPath parameter with --analyzeJavaSE.

• The binaryInputPath parameter is an absolute or relative path to a Java EE archive, Java archive ordirectory that contains those archives. If you specify a directory for the binaryInputPath parameter, thecontents of that directory are evaluated as a single application. If you scan a directory that containsmultiple applications, the report contains the combined results. To better understand which applicationuses which technology, run the tool on the individual applications.

• The --analyze action generates the Detailed Migration Analysis Report.

If no application server options are specified, then --sourceAppServer=was855 and --targetAppServer=liberty are the default.

Run commands from the wamt directory in your Migration Toolkit for Application Binaries installation. Fora complete list of supported options for detailed migration analysis, run the following command:

java -jar binaryAppScanner.jar --help --analyze

The following examples demonstrate different ways to generate the report using the command options:• To display the default report, an HTML report for a migration from WebSphere Application Server

traditional V8.5.5 to Liberty, run the following command:

java -jar binaryAppScanner.jar binaryInputPath --analyze

• To save the report to a specific file, additionally specify the --output parameter with a file name. If thefile name is not fully qualified, the file is created in the current directory.For example, the following command outputs the report to the /MyAppDir/MyAppReport.html file.

java -jar binaryAppScanner.jar MyApp.ear --analyze --targetCloud=cfIBMCloud --output=/MyAppDir/MyAppReport.html

• To create a JSON-formatted report file with the default name of MyAppDir_AnalysisReport.jsonin the current directory where binaryInputPath is set to /MyAppDir, run the following command:

java -jar binaryAppScanner.jar /MyAppDir --analyze --format=json

© Copyright IBM Corp. 2014, 2020 13

Figure 4. Detailed Migration Analysis Report in HTML format

The rule severity helps identify the impact of an issue on your application migration.

Ruleseverity

Sourcescanner icon

Binaryscanner icon Description

SevereSevere rules indicate an API removal or behavior changethat can break the application and that must beaddressed.

Warning Warning rules indicate behavior changes that might breakthe application and that should be evaluated.

InformationInformation rules indicate the use of deprecated APIs orminor behavior changes that will not affect mostapplications.

The line number column might be empty, depending on whether the reference was within a method bodyand whether the application was compiled with line numbers. References outside of method bodies, suchas class annotations, class variables, method annotations, and method parameters, do not have linenumbers. For those references, the reference details contain information about the type of reference tohelp you pinpoint the location.

For reports in JSON format, missing line numbers are reported as an integer with a value of zero, andmissing reference details and match criteria are reported as a null value.

14 Migration Toolkit for Application Binaries

Configuration Migration

The Migration Toolkit for Application Binaries can generate server configuration files that contain themigrated configuration. To generate the configuration from the command line, specify thebinaryInputPath parameter and the --generateConfig action. The binaryInputPath parameter is anabsolute or relative path to an .ear or .war file or to a directory that contains .ear and .war files.

Run commands from the wamt directory in your Migration Toolkit for Application Binaries installation. Fora complete list of supported options for the --generateConfig action, run the following command:

java -jar binaryAppScanner.jar --help --generateConfig

To generate a configuration file using the tool, run the following command:

java -jar binaryAppScanner.jar /myApp.ear --generateConfig

Specify a directory for the binaryInputPath to generate multiple server configuration files for multipleapplications. The following command generates a configuration file in the current directory for each .warand .ear file located in the /myAppsDirectory directory:

java -jar binaryAppScanner.jar /myAppsDirectory --generateConfig

To save the configuration output file to a directory, specify the --output parameter without a file name. Forexample, the following command writes the configuration output file with the default name in thespecified directory. When migrating to Liberty the configuration will be saved to a server.xml file in thespecified location. When migrating between WebSphere traditional versions a wsadmin script will bewritten in the specified location.

java -jar binaryAppScanner.jar /myApp.ear --generateConfig --output=/GeneratedConfigOutput

When migrating from WebSphere traditional or a competitive application server to Liberty, a feature list isgenerated that contains the required features for each application. You may specify the --outputparameter with a file name extension .xml. For example, the following command writes the server.xmlwith the specified name to the specified location.

java -jar binaryAppScanner.jar /myApp.ear --generateConfig --output=/GenerateConfigOutput/NamedServer.xml

Figure 5. Liberty Configuration

When migrating to Liberty, you may specify the --targetJavaEE option to affect which Java EE level of theLiberty features are included in the feature list. If you do not specify the --targetJavaEE option, theserver.xml will include the latest available features version that support each of the scanned

© Copyright IBM Corp. 2014, 2020 15

applications. The following command provides the Java EE 8 version of the liberty features detected inyour application.

java -jar binaryAppScanner.jar /myApp.ear --generateConfig --targetJavaEE=ee8

Migration from WebSphere traditional

When migrating from WebSphere traditional, additional configuration is generated if the binaryInputPathof the deployed application is found under the WebSphere traditional installation or a backup directorygenerated by the WASPreUpgrade command. The additional configuration is generated in a server.xmlfile for Liberty target servers and in a wsadmin script for WebSphere traditional target servers.

java -jar binaryAppScanner.jar /myApp.ear --generateConfig --output=/GeneratedConfigOutput

To save the wsadmin script to a specific file, specify the --output parameter with a file nameextension .py. For example, the following command writes the wsadmin script with the specified nameto the specified location.

java -jar binaryAppScanner.jar /myApp.ear --generateConfig --sourceAppServer=was80 --targetAppServer=was90 --output=/GenerateConfigOutput/NamedScript.py

All sensitive data, such as passwords, are replaced with variables in the generated configuration. Whenmigrating to Liberty, if the configuration includes any sensitive data, a separatemyApp_server_sensitiveData.xml file is generated with the sensitive data variables. Whenmigrating to WebSphere traditional, the variables are defined at the top of the wsadmin script. Thevariable values are left blank unless the --includeSensitiveData option is provided, in which case thevariable values is set to the WebSphere traditional values.

java -jar binaryAppScanner.jar /myApp.ear --generateConfig --includeSensitiveData

If the application archive specified by the binaryInputPath parameter is located in a WebSpheretraditional configuration, then the binary scanner will automatically produce the associated configuration.If the application archive is not located in a WebSphere traditional configuration, then use the --configLocation option to specify the location of the WebSphere traditional profile where the application isdeployed.

java -jar binaryAppScanner.jar /myApp.ear --generateConfig --configLocation=/wasinstallroot/profiles/profileName

The following WebSphere traditional configuration is generated when migrating to Liberty and WebSpheretraditional base edition.

• JDBC - Supports Oracle, DB2 Universal, DB2 Using IBM JCC, Derby, Derby Network Server Using DerbyClient, Microsoft SQL Server, and User-Defined JDBC Providers.

• JMS - Connection factories, topics, queues and destinations are migrated. Remote connections areconverted to local connections. Provider endpoint settings are not migrated.

• Service Integration Bus - Creates the Service Integration Bus and messaging engines with filestores.Datastores will be converted to filestores.

• JCA Authentication Alias

16 Migration Toolkit for Application Binaries

JVM command-line properties and options

You can use Java™ virtual machine (JVM) properties and command-line options to set the locale andavailable memory for generating reports by using the Migration Toolkit for Application Binaries.

Setting the locale

To generate a report in a language other than the default locale, specify the following properties on thecommand line:

• -Duser.language=<locale language id>• -Duser.country=<locale country id>

The following table lists the supported values for the user.language and user.country properties:

Language user.language user.country

Chinese (Simplified) zh CN

Chinese (Traditional) zh TW

Czech cs

English en

French fr

German de

Hungarian hu

Italian it

Japanese ja

Korean ko

Polish pl

Portuguese (Brazillian) pt BR

Romanian ro

Russian ru

Spanish es

Setting the minimum and maximum memory

When you generate a report for a large number of applications, you might encounter ajava.lang.OutOfMemory exception. It is recommended to generate reports for individual applications sothat you can better understand what results pertain to a particular application. However, if you want togenerate a combined report, you can increase the initial and maximum memory sizes that are available tothe JVM by specifying the following options on the command line:

• -Xms<minimum size>• -Xmx<maximum size>

Examples

The following example demonstrates generating a report in Simplified Chinese using the JVM properties:

© Copyright IBM Corp. 2014, 2020 17

java -Duser.language=zh -Duser.country=CN -jar binaryAppScanner.jar binaryInputPath

The following example demonstrates increasing the minimum and maximum memory size to twogigabytes using the JVM command-line options:

java -Xms2G -Xmx2G -jar binaryAppScanner.jar binaryInputPath --analyze

18 Migration Toolkit for Application Binaries

Troubleshooting

Troubleshooting the binary scanner

Strings passed to the binary scanner through the command line are cut off after special characters

When using the binary scanner from the command line, remember to use escape characters for anyspecial characters (such as '&', '^', etc). Note that different shells may use different escape characters.For example, use '^' to escape an a ampersand in the cmd shell:

java -jar binaryAppScanner.jar app.war --all --output=/Home/Reports^&Tests/

The binary scanner is taking a long time to scan an application on older Java 8 versions

There is a known issue with older versions of Java 8 that causes the binary scanner to run slowly. Upgradeyour Java 8 version to the newest fix level.

© Copyright IBM Corp. 2014, 2020 19

Copyright and trademarks

© Copyright IBM Corporation 2009, 2020.

The information contained in this publication is provided for informational purposes only. While effortswere made to verify the completeness and accuracy of the information contained in this publication, it isprovided AS IS without warranty of any kind, express or implied. In addition, this information is based onIBM's current product plans and strategy, which are subject to change by IBM without notice. IBM shallnot be responsible for any damages arising out of the use of, or otherwise related to, this publication orany other materials. Nothing contained in this publication is intended to, nor shall have the effect of,creating any warranties or representations from IBM or its suppliers or licensors, or altering the terms andconditions of the applicable license agreement governing the use of IBM software.

References in this publication to IBM products, programs, or services do not imply that they will beavailable in all countries in which IBM operates. Product release dates and/or capabilities referenced inthis presentation may change at any time at IBM's sole discretion based on market opportunities or otherfactors, and are not intended to be a commitment to future product or feature availability in any way.Nothing contained in these materials is intended to, nor shall have the effect of, stating or implying thatany activities undertaken by you will result in any specific sales, revenue growth, savings or other results.

Performance is based on measurements and projections using standard IBM benchmarks in a controlledenvironment. The actual throughput or performance that any user will experience will vary dependingupon many factors, including considerations such as the amount of multiprogramming in the user's jobstream, the I/O configuration, the storage configuration, and the workload processed. Therefore, noassurance can be given that an individual user will achieve results similar to those stated here.

IBM, the IBM logo, developerWorks, Passport Advantage, Rational, and WebSphere are trademarks ofInternational Business Machines Corporation in the United States, other countries or both.

Java and all Java-based trademarks and logos are trademarks or registered trademarks of Oracle and/orits affiliates.

Other product and service names might be trademarks of IBM or other companies.

20 Migration Toolkit for Application Binaries

IBM®