-
Notifications
You must be signed in to change notification settings - Fork 36
JavaArchive
memory-agape edited this page Apr 18, 2019
·
7 revisions
JavaArchive class is provided APIs for executing .jar file.
For an example as follows:
- Write Java:
class HelloWorld
{
public static void main(String[] args)
{
System.out.println(args[0]);
}
}- Compile classes to an archive.
$ javac -encoding UTF8 -d build src/*
$ cd build && jar -cvfe ../Test.jar Test *
- Write PHPJava:
<?php
use PHPJava\Core\JavaArchive;
// You must pass parameters to entrypoint within the `execute` method.
// The `execute` method haven't default parameters.
(new JavaArchive('Test.jar'))
->execute(["Hello World!"]);
// or
(new JavaArchive('Test.jar'))
// Specify Test.class on JavaArchive
->getClassByName('Test')
->getInvoker()
->getStatic()
->getMethods()
->call(
'main',
["Hello World!"]
);You'll get a result Hello World!
public function __construct(string $jarFile, array $options = [])Initiate a Java Archive class.
| Name | Type | Description |
|---|---|---|
| $jarFile | string | Specify file path. |
| $options | array | Set JavArchive/JavaClass runtime options. |
public function __destruct()Initiated Java Archive destruction.
No parameters.
public function execute(...$arguments)Execute entrypoint class from initiated Java Archive.
| Name | Type | Description |
|---|---|---|
| ...$arguments | ...mixed | Pass anything parameters to entrypoint class. |
public function __debugInfo()For dump java archive information.
No parameters.
public function getVersion(): ?stringGet a Java archive version.
No parameters.
public function getCreatedBy(): ?stringGet a Java archive creator name.
No parameters.
public function getEntryPointName(): ?stringGet a entrypoint class name.
No parameters.
public function getClassPaths(): arrayGet defined class paths in manifest.
No parameters.
public function getClasses(): arrayReturn are included Java classes in Java Archive.
No parameters.
public function getClassByName(string $name): JavaClassInterfaceTo get initiated class from JavaArchive. This method can be manipulate loaded classes.
| Name | Type | Description |
|---|---|---|
| $name | string | Specify class name. |
- The Contribution Guide
- CHANGELOG
- How to run JavaClass
- How to run JavaArchive
- How to run Kotlin
-
Provided classes
- Core
- Types
- Utilities
- Provided options
- Operation Injector