anchor.diff:  owner: Java
   ---
   
  -Cloud Foundry can deploy a number of different JVM-based artifact types. For a more detailed explanation of what it supports, see [Additional Documentation](https://github.com/cloudfoundry/java-buildpack#additional-documentation) in the Cloud Foundry Java Buildpack repository on GitHub.
  +This topic describes how the Java buildpack can be used with <%= vars.app_runtime_first %>.
  +
  +<%= vars.app_runtime_abbr %> can deploy a number of different JVM-based artifact types. For a more detailed explanation of what the Cloud Foundry Java Builpack supports, see [Additional Documentation](https://github.com/cloudfoundry/java-buildpack#additional-documentation) in the repository on GitHub.
   
   
   ## <a id='buildpack'></a> Java Buildpack
  
positive.code:         * Delete `manifest.yml` and run `cf push` again, specifying the location of the WAR using the `-p` flag.
          * Edit the `path` argument in `manifest.yml` to point to the WAR, and re-push the app.
  
  ### <a id='debugging'></a> Debug Java Apps on Cloud Foundry
  
  Because of the way that Cloud Foundry deploys your apps and isolates them, it is not possible to connect to your app with the remote Java debugger. Instead, instruct the app to connect to the Java debugger on your local machine.
  
  To set up remote debugging when using BOSH Lite or a Cloud Foundry installation:
  
  1. Open your project in Eclipse.
  
  
negative.code: 
  ### <a id='upload'></a> Troubleshoot Failed Upload
  
  If your app fails to upload when you push it to <%= vars.app_runtime_abbr %>, it may be for one of the following reasons:
  
  * **WAR is too large**: An upload may fail due to the size of the WAR file. <%= vars.app_runtime_abbr %> testing indicates WAR files as large as 250&nbsp;MB upload successfully. If a WAR file larger than that fails to upload, it may be a result of the file size.
  
  * **Connection issues**: App uploads can fail if you have a slow Internet connection, or if you upload from a location that is very remote from the target <%= vars.app_runtime_abbr %> instance. If an app upload takes a long time, your authorization token can expire before the upload completes. A workaround is to copy the WAR to a server that is closer to the <%= vars.app_runtime_abbr %> instance, and then push it from there.
  
  * **Out-of-date cf CLI client**: Upload of a large WAR is faster and hence less likely to fail if you are using a recent version of the cf CLI. If you are using an older version of the cf CLI client to upload a large WAR, and having problems, try updating to the latest version of the cf CLI.
  
  * **Incorrect WAR targeting**: By default, `cf push` uploads everything in the current directory. For a Java app, `cf push` with no option flags uploads source code and other unnecessary files, in addition to the WAR. When you push a Java app, specify the path to the WAR by running:
  
  