When creating a location for a Java™ class, the package name must match that of the repository folder location with any hyphens in the path properly escaped.
While using hyphens in the names of repository items is a recommended practice in AEM development, hyphens are illegal within Java™ package names.
The underlying CRX platform must be able to distinguish between an actual underscore
_ and a hyphen
-. Thus, in JCR, the hyphen must be replaced with its Unicode value (u002d) and escaped with an underscore
For example, if the repository path is /apps/my-example/component/info/Info.java, the package name should be
java package apps.my_002dexample.component.info;
Notice that an underscore must similarly be escaped, such that