如何在我的项目中制作捆绑包?

时间:2013-01-27 13:05:54

标签: java maven maven-2 maven-bundle-plugin

我构建一个名为 ThreadPool-Maven

的多模块项目

ThreadPool-Maven 包含两个项目 ThreadPool-Implementation ThreadPool-Evaluator

两者都是相互依赖的,ThreadPool-Evaluator项目依赖于ThreadPool-Implementation项目。

ThreadPool-Implementation 包含三个java文件。

  1. ThreadPool.java
  2. WorkerThreadPool.java
  3. Done.java
  4. ThreadPool-Evaluator 包含两个java文件。

    1. TestThreadPool.java
    2. TestWorkerThread.java
    3. 这是我迄今为止的工作。现在我想构建一个 ThreadPool-Implementation ThreadPool-Evaluator 的捆绑包,这些捆绑包由 ThreadPool-Maven 用于执行相同的任务。 帮我做那个。

      POMS 如下: -

      ThreadPool-Maven : -

      <?xml version="1.0" encoding="UTF-8"?>
      <project xmlns="http://maven.apache.org/POM/4.0.0" 
               xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
               xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 
                                   http://maven.apache.org/maven-v4_0_0.xsd">
          <modelVersion>4.0.0</modelVersion>
          <groupId>com.xyz.intern.multiple_project</groupId>
          <version>0.8-SNAPSHOT</version>
          <artifactId>ThreadPool-Maven</artifactId>
          <packaging>pom</packaging>
          <name>Simple Parent Project ThreadPool-Maven</name>
      
          <modules>
              <module>ThreadPool-Implementation</module>
              <module>ThreadPool-Evaluator</module>
          </modules>
      
          <dependencies>
              <dependency>
                  <groupId>junit</groupId>
                  <artifactId>junit</artifactId>
                  <version>3.8.1</version>
                  <scope>test</scope>
              </dependency>
          </dependencies>
      
      </project>
      

      线程池-实施

      <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
        <modelVersion>4.0.0</modelVersion>
      
         <parent>
          <groupId>com.xyz.intern.multiple_project</groupId>
          <artifactId>ThreadPool-Maven</artifactId>
          <version>0.8-SNAPSHOT</version>
        </parent>
      
        <artifactId>ThreadPool-Implementation</artifactId>
        <packaging>jar</packaging>
      
        <name>ThreadPool-Implementation </name>
        <url>http://maven.apache.org</url>
      
        <properties>
          <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        </properties>
      
      </project>
      

      线程池评估器

      <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
        <modelVersion>4.0.0</modelVersion>
        <parent>
          <groupId>com.xyz.intern.multiple_project</groupId>
          <artifactId>ThreadPool-Maven</artifactId>
          <version>0.8-SNAPSHOT</version>
        </parent>
        <artifactId>ThreadPool-Evaluator</artifactId>
        <packaging>jar</packaging>
      
        <name>ThreadPool-Evaluation</name>
        <url>http://maven.apache.org</url>
      
        <properties>
          <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        </properties>
      
        <dependencies>
          <dependency>
              <groupId>com.xyz.intern.multiple_project</groupId>
              <artifactId>ThreadPool-Implementation</artifactId>
              <version>${project.version}</version>
          </dependency>
        </dependencies>
      
      </project>
      

1 个答案:

答案 0 :(得分:0)

Maven bundle插件用于生成OSGi兼容的bundle JAR文件。查看Apache Felix Maven Bundle Plugin了解详情。