<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??碼云GVP開源項目 12k star Uniapp+ElementUI 功能強大 支持多語言、二開方便! 廣告
                # 多模塊 Maven 項目 – 控制臺 > 原文: [https://howtodoinjava.com/maven/multi-module-project-console/](https://howtodoinjava.com/maven/multi-module-project-console/) 了解**如何從控制臺** IDE 創建多模塊 Maven 項目。 在此 [maven 教程](https://howtodoinjava.com/maven/)中,我們將學習使用 maven cli 命令創建*嵌套的 maven 項目*。 ## 1\. Maven 項目 #### 1.1 Maven 父項目 父 maven 項目的包類型為`pom`。 它使項目成為一個聚合器 – 不會產生進一步的工件。 #### 1.2 Maven 子項目/模塊 * Maven 子項目是獨立的 Maven 項目,但從父項目繼承屬性。 * 可以使用單個命令來構建父項目中的所有子項目。 * 定義項目之間的關系更加容易。 如 JAR 項目可以打包成 WAR 項目。 ## 2\. 從控制臺創建多模塊 Maven 項目 讓我們創建一個 maven 項目,其中包含 ear,war 和 jar 類型的模塊。 注意如何將`archetypeArtifactId`設置為`pom-root`。 ![Projects Relationship](https://img.kancloud.cn/66/36/6636b4832d0af6f80a91b500958aff68_471x313.png) 項目關系 #### 1.1 創建父項目 - 打包類型為`pom` 創建父項目將在命令下方。 ```java $ mvn archetype:generate -DgroupId=com.howtodoinjava -DartifactId=HelloWorldApp -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false ``` 打開`pom.xml`文件,并將包類型更改為'`pom`。 ```java <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.howtodoinjava</groupId> <artifactId>HelloWorldApp</artifactId> <!-- chaged fom jar to pom --> <packaging>pom</packaging> <version>1.0-SNAPSHOT</version> <name>HelloWorldApp</name> <url>http://maven.apache.org</url> </project> ``` #### 1.2 創建 EAR,網絡和服務模塊 在控制臺中,導航到父項目文件夾并為服務(通用代碼,例如 DAO),rws(REST 服務或 Web 組件)和 Ear 創建其他模塊。 ```java $ cd HelloWorldApp $ mvn archetype:generate -DgroupId=com.howtodoinjava -DartifactId=HelloWorldApp-ear -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false $ mvn archetype:generate -DgroupId=com.howtodoinjava -DartifactId=HelloWorldApp-service -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false $ mvn archetype:generate -DgroupId=com.howtodoinjava -DartifactId=HelloWorldApp-rws -DarchetypeArtifactId=maven-archetype-webapp -DinteractiveMode=false ``` #### 1.3 更新 Maven 插件和依賴項 現在該更新添加依賴項(例如,將服務添加到 war 文件中,并將 war 文件添加到 ear 文件中)。 同樣,所有用于構建 Ear 和 War 文件工件的 Maven 插件。 ```java <?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.howtodoinjava</groupId> <artifactId>HelloWorldApp</artifactId> <packaging>pom</packaging> <version>1.0-SNAPSHOT</version> <name>HelloWorldApp</name> <url>http://maven.apache.org</url> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <maven.compiler.source>1.8</maven.compiler.source> <maven.compiler.target>1.8</maven.compiler.target> </properties> <modules> <module>HelloWorldApp-ear</module> <module>HelloWorldApp-service</module> <module>HelloWorldApp-rws</module> </modules> </project> ``` ```java <?xml version="1.0"?> <project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <modelVersion>4.0.0</modelVersion> <parent> <groupId>com.howtodoinjava</groupId> <artifactId>HelloWorldApp</artifactId> <version>1.0-SNAPSHOT</version> </parent> <artifactId>HelloWorldApp-ear</artifactId> <name>HelloWorldApp-ear</name> <url>http://maven.apache.org</url> <packaging>ear</packaging> <dependencies> <dependency> <groupId>com.howtodoinjava</groupId> <artifactId>HelloWorldApp-rws</artifactId> <version>1.0-SNAPSHOT</version> <type>war</type> </dependency> </dependencies> <build> <pluginManagement> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-ear-plugin</artifactId> <version>3.0.1</version> <configuration> <modules> <webModule> <groupId>com.howtodoinjava</groupId> <artifactId>HelloWorldApp-rws</artifactId> <uri>HelloWorldApp-rws-1.0-SNAPSHOT.war</uri> <!-- Set custom context root --> <contextRoot>/application</contextRoot> </webModule> </modules> </configuration> </plugin> </plugins> </pluginManagement> </build> </project> ``` ```java <?xml version="1.0"?> <project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <modelVersion>4.0.0</modelVersion> <parent> <groupId>com.howtodoinjava</groupId> <artifactId>HelloWorldApp</artifactId> <version>1.0-SNAPSHOT</version> </parent> <artifactId>HelloWorldApp-rws</artifactId> <packaging>war</packaging> <name>HelloWorldApp-rws Maven Webapp</name> <url>http://maven.apache.org</url> <dependencies> <dependency> <groupId>com.howtodoinjava</groupId> <artifactId>HelloWorldApp-service</artifactId> <version>1.0-SNAPSHOT</version> </dependency> </dependencies> <build> <finalName>HelloWorldApp-rws</finalName> </build> </project> ``` ```java <?xml version="1.0"?> <project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <modelVersion>4.0.0</modelVersion> <parent> <groupId>com.howtodoinjava</groupId> <artifactId>HelloWorldApp</artifactId> <version>1.0-SNAPSHOT</version> </parent> <artifactId>HelloWorldApp-service</artifactId> <name>HelloWorldApp-service</name> <url>http://maven.apache.org</url> </project> ``` > 閱讀更多:[如何在 Eclipse 中創建多模塊 Maven 項目](https://howtodoinjava.com/maven/multi-module-project-eclipse/) ## 2\. 項目構建過程 要生成項目,請從控制臺運行`$mvn clean install`命令。 ```java E:\devsetup\workspacetemp\HelloWorldApp>mvn clean install [INFO] Scanning for projects... [INFO] ------------------------------------------------------------------------ [INFO] Reactor Build Order: [INFO] [INFO] HelloWorldApp [pom] [INFO] HelloWorldApp-service [jar] [INFO] HelloWorldApp-rws Maven Webapp [war] [INFO] HelloWorldApp-ear [jar] [INFO] [INFO] --- maven-jar-plugin:2.4:jar (default-jar) @ HelloWorldApp-service --- [WARNING] JAR will be empty - no content was marked for inclusion! [INFO] Building jar: E:\devsetup\workspacetemp\HelloWorldApp\HelloWorldApp-service\target\HelloWorldApp-service-1.0-SNAPSHOT.jar [INFO] [INFO] Copying webapp resources [E:\devsetup\workspacetemp\HelloWorldApp\HelloWorldApp-rws\src\main\webapp] [INFO] Webapp assembled in [47 msecs] [INFO] Building war: E:\devsetup\workspacetemp\HelloWorldApp\HelloWorldApp-rws\target\HelloWorldApp-rws.war [INFO] WEB-INF\web.xml already added, skipping [INFO] [INFO] --- maven-install-plugin:2.4:install (default-install) @ HelloWorldApp-ear --- [INFO] Installing E:\devsetup\workspacetemp\HelloWorldApp\HelloWorldApp-ear\target\HelloWorldApp-ear-1.0-SNAPSHOT.ear to E:\devsetup\M2\com\howtodoinjava\HelloWorldApp-ear\1.0-SNAPSHOT\HelloWorldApp-ear-1.0-SNAPSHOT.ear [INFO] ------------------------------------------------------------------------ [INFO] Reactor Summary: [INFO] [INFO] HelloWorldApp 1.0-SNAPSHOT ......................... SUCCESS [ 0.324 s] [INFO] HelloWorldApp-service .............................. SUCCESS [ 0.894 s] [INFO] HelloWorldApp-rws Maven Webapp ..................... SUCCESS [ 0.531 s] [INFO] HelloWorldApp-ear 1.0-SNAPSHOT ..................... SUCCESS [ 0.565 s] [INFO] ------------------------------------------------------------------------ [INFO] BUILD SUCCESS [INFO] ------------------------------------------------------------------------ [INFO] Total time: 2.487 s [INFO] Finished at: 2018-11-18T22:44:44+05:30 [INFO] ------------------------------------------------------------------------ ``` 構建會生成名稱為`HelloWorldApp-ear-1.0-SNAPSHOT.ear`的 ear 文件。 可以根據需要隨意更改項目名稱和生成的包。 學習愉快!
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看