mkdir OSGiAngularInteraction cd OSGiAngularInteraction groovy plugins { id 'java' id 'osgi' } apply plugin: 'application' repositories { jcenter() } dependencies { implementation 'org.osgi:osgi.annotation:8.0.0' implementation 'org.osgi:osgi.cmpn:8.0.0' implementation 'org.osgi:org.osgi.service.component.annotations:1.4.0' implementation 'org.osgi:org.osgi.service.component.runtime:1.0.6' compileOnly 'javax.annotation:javax.annotation-api:1.3.2' compileOnly 'javax.servlet:javax.servlet-api:3.1.0' } osgi { instruction 'Include-Resource', 'src/main/resources' instruction 'Private-Package', 'com.example.osgi.angular.interaction' } application { mainClassName = 'com.example.osgi.angular.interaction.Main' } package com.example.osgi.angular.interaction; import org.osgi.service.component.annotations.Component; @Component(property = { "osgi.command.scope=angular", "osgi.command.function=hello" }) public class Main { public void hello() { System.out.println("Hello from OSGi!"); } } html <!DOCTYPE html> <html> <head> <title>OSGi Angular Interaction</title> </head> <body> <h1>OSGi Angular Interaction</h1> <button onclick="helloFromOSGi()">Hello from OSGi</button> <script> function helloFromOSGi() { console.log('Calling OSGi...'); java.com.example.osgi.angular.interaction.Main.hello(); } </script> </body> </html> ./gradlew installApp ./build/install/OSGiAngularInteraction/bin/OSGiAngularInteraction


上一篇:
下一篇:
切换中文