mvn archetype:generate \ -DgroupId=com.example \ -DartifactId=my-library \ -DarchetypeArtifactId=maven-archetype-quickstart \ -DinteractiveMode=false <dependency> <groupId>org.codehaus.plexus</groupId> <artifactId>plexus-component-annotations</artifactId> <version>1.7.1</version> </dependency> import org.codehaus.plexus.component.annotations.Component; @Component(role = MyComponent.class) public class MyComponent { public void doSomething() { System.out.println("Hello, World!"); } } import org.codehaus.plexus.DefaultPlexusContainer; public class App { public static void main(String[] args) { try { DefaultPlexusContainer container = new DefaultPlexusContainer(); MyComponent myComponent = container.lookup(MyComponent.class); myComponent.doSomething(); } catch (Exception e) { e.printStackTrace(); } } } mvn clean install java -cp target/my-library-1.0-SNAPSHOT.jar com.example.App <component-set> <components> <component> <role>com.example.MyComponent</role> <role-hint>myComponent</role-hint> <implementation>com.example.MyComponent</implementation> </component> </components> </component-set>


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