Class loading of dependency class files using modified class identifiers
Systems and methods for class loading of dependency class files using modified class identifiers. An example method may comprise packaging one or more class files into a logical group for building an executable module to be deployed in a computing environment; assigning a class identifier to a class file of the logical group, wherein the class identifier comprises a class name and a project identifier; identifying a dependency class file of the class file of the logical group; and adding, to a build management data structure, an entry comprising the class identifier and a class identifier of the dependency class file.
1. A method, comprising:
packaging one or more class files into a logical group for building an executable module to be deployed in a computing environment;
assigning a class identifier to a class file of the logical group, wherein the class identifier comprises a class name and a project identifier;
identifying a dependency class file of the class file of the logical group, wherein identifying the dependency class file of the class file comprises:
identifying a dependent logical group referenced by the logical group; and
identifying a dependency class file of the dependent logical group referenced by the respective class file of the logical group; and
adding, to a build management data structure, an entry comprising the class identifier and a class identifier of the dependency class file.
2. The method of claim 1 , wherein the project identifier of the respective class file comprises at least one of: a group identifier, an artifact identifier, or a version identifier.
3. The method of claim 1 , further comprising:
responsive to receiving a request to load a target class file of a dependent logical group in response to loading a specific class file of a specific logical group, identifying, in the build management data structure, a subset of entries associated with the specific class file; and
loading the target class file identified by the class identifier of the target class file.
4. The method of claim 3 , wherein the specific logical group is dependent on the dependent logical group.
5. The method of claim 3 , wherein identifying, in the build management data structure, the subset of entries associated with the specific class file includes:
identifying each entry in which a class identifier of the specific class file matches the class identifier of the entry or a class name of the specific class file matches a class name portion of the class identifier of the entry.
6. The method of claim 5 , wherein loading the target class file identified by the class identifier of the target class file includes:
identifying an entry of the subset of entries in which a class name associated with the target class file matches a class name portion of a class identifier of the dependency class file associated with the entry.
7. A system comprising:
a memory device;
a processing device, operatively coupled to the memory device, to perform operations comprising:
packaging one or more class files into a logical group for building an executable module to be deployed in a computing environment;
assigning a class identifier to a class file of the logical group, wherein the class identifier comprises a class name and a project identifier;
identifying a dependency class file of the class file of the logical group, wherein identifying the dependency class file of the class file comprises:
identifying a dependent logical group referenced by the logical group; and
identifying a dependency class file of the dependent logical group referenced by the respective class file of the logical group; and
adding, to a build management data structure, an entry comprising the class identifier and a class identifier of the dependency class file.
8. The system of claim 7 , wherein the project identifier of the respective class file comprises at least one of: a group identification, an artifact identification, or a version identification.
9. The system of claim 7 , further comprising:
responsive to receiving a request to load a target class file of a dependent logical group in response to loading a specific class file of a specific logical group, identifying, in the build management data structure, a subset of entries associated with the specific class file; and
loading the target class file identified by the class identifier of the target class file.
10. The system of claim 9 , wherein the specific logical group is dependent on the dependent logical group.
11. The system of claim 9 , wherein identifying, in the build management data structure, the subset of entries associated with the specific class file includes:
identifying each entry in which a class identifier of the specific class file matches the class identifier of the entry or a class name of the specific class file matches a class name portion of the class identifier of the entry.
12. The system of claim 11 , wherein loading the target class file identified by the class identifier of the target class file includes identifying an entry of the subset of entries in which a class name associated with the target class file matches a class name portion of a class identifier of the dependency class file associated with the entry.
13. A non-transitory machine-readable storage medium including instructions that, when executed by a processing device, cause the processing device to perform operations comprising:
packaging one or more class files into a logical group for building an executable module to be deployed in a computing environment;
assigning a class identifier to a class file of the logical group, wherein the class identifier comprises a class name and a project identifier;
identifying a dependency class file of the class file of the logical group, wherein identifying the dependency class file of the class file comprises:
identifying a dependent logical group referenced by the logical group; and
identifying a dependency class file of the dependent logical group referenced by the respective class file of the logical group; and
adding, to a build management data structure, an entry comprising the class identifier and a class identifier of the dependency class file.
14. The non-transitory machine-readable storage medium of claim 13 , wherein the project identifier of the respective class file comprises at least one of: a group identification, an artifact identification, or a version identification.
15. The non-transitory machine-readable storage medium of claim 13 , further comprising:
responsive to receiving a request to load a target class file of a dependent logical group dependent on a specific class file of a specific logical group, identifying, in the build management data structure, a subset of entries associated with the specific class file; and
loading the target class file identified by the class identifier of the target class file.
16. The non-transitory machine-readable storage medium of claim 15 , wherein identifying, in the build management data structure, the subset of entries associated with the specific class file includes:
identifying each entry in which a class identifier of the specific class file matches the class identifier of the entry or a class name of the specific class file matches a class name portion of the class identifier of the entry.
17. The non-transitory machine-readable storage medium of claim 15 , wherein loading the target class file identified by the class identifier of the target class file includes:
identifying an entry of the subset of entries in which a class name associated with the target class file matches a class name portion of a class identifier of the dependency class file associated with the entry.