# About the Java activity package

> :::important
The **Java** activity package has been made open-source. Feel free to collaborate on our [Github repositories](https://github.com/UiPath/Community.Activities).
:::

:::important
The **Java** activity package has been made open-source. Feel free to collaborate on our [Github repositories](https://github.com/UiPath/Community.Activities).
:::

The Java activity package contains several new activities that help you harness the power of Java code. With the [Java Scope](https://docs.uipath.com/activities/other/latest/developer/java-scope) activity you can initialize a Java library, thus providing a scope for all subsequent activities. All activities in this pack must be run inside the aforementioned scope.

You can then load `.jar` files inside the Scope by using the [Load Jar](https://docs.uipath.com/activities/other/latest/developer/load-jar) activity.

We have created the `JavaObject` variable, which is a custom data type used to process results from Java routines in UiPath by either converting them into standard C# datatypes or passing them as arguments to other Java methods. Also, you can retrieve fields from methods found in this custom data type and store them in `JavaObject` variables, by using the [Get Field](https://docs.uipath.com/activities/other/latest/developer/get-java-field) activity.

This variable can be created from a method by using the [Invoke Java Method](https://docs.uipath.com/activities/other/latest/developer/invoke-java-method) activity or from a class, by using the [Create Java Object](https://docs.uipath.com/activities/other/latest/developer/create-java-object) activity.

If you find it easier to work with .NET, you can convert any `JavaObject` variable to an `Object` variable by using the [Convert Java Object](https://docs.uipath.com/activities/other/latest/developer/convert-java-object) activity.
