Package javassist.util.proxy

# Class DefinePackageHelper

java.lang.Object
javassist.util.proxy.DefinePackageHelper

public class DefinePackageHelper extends Object
Helper class for invoking `ClassLoader.defineClass(String,byte[],int,int)`.

Since:
  3.22

## Method Summary

Modifier and Type
Method
Description
`static void`
`definePackage(String className, ClassLoader loader)`
Defines a new package.

### Methods inherited from class java.lang.Object

`equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

## Method Details

### definePackage

public static void definePackage(String className, ClassLoader loader) throws CannotCompileException
Defines a new package. If the package is already defined, this method performs nothing.

You do not necessarily need to call this method. If this method is called, then `getPackage()` on the `Class` object returned by `toClass()` will return a non-null object.

The jigsaw module introduced by Java 9 has broken this method. In Java 9 or later, the VM argument `--add-opens java.base/java.lang=ALL-UNNAMED` has to be given to the JVM so that this method can run.

Parameters:
  `className` - the package name.
  `loader` - the class loader passed to `toClass()` or the default one obtained by `getClassLoader()`.
Throws:
  `CannotCompileException`
See Also:
  - `Class.getClassLoader()`
  - `CtClass.toClass()`