<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>

                ??一站式輕松地調用各大LLM模型接口,支持GPT4、智譜、豆包、星火、月之暗面及文生圖、文生視頻 廣告
                [TOC] # 常用 ~~~ <plugin> <artifactId>maven-assembly-plugin</artifactId> <version>3.1.0</version> <configuration> <archive> <manifest> <main>com.jdxia.EurekaServer</main> </manifest> </archive> <descriptorRefs> <!-- 會將所有依賴都解壓打包到生成物中--> <descriptorRef>jar-with-dependencies</descriptorRef> </descriptorRefs> <!--false,mvn deploy不會把assembly打的zip包上傳到nexus--> <attach>false</attach> </configuration> <executions> <execution> <id>make-assembly</id> <!--名字任意 --> <phase>package</phase> <!-- 綁定到package生命周期階段上 --> <goals> <goal>single</goal> <!-- 只運行一次 --> </goals> </execution> </executions> </plugin> ~~~ # 簡介 簡單的說,maven-assembly-plugin 就是用來幫助打包用的,比如說打出一個什么類型的包,包里包括哪些內容等等。 默認情況下,打jar包時,只有在類路徑上的文件資源會被打包到jar中,并且文件名是`${artifactId}-${version}.jar`,**下面看看怎么用maven-assembly-plugin插件來定制化打包**。 首先需要添加插件聲明: ~~~ <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-assembly-plugin</artifactId> <version>3.1.0</version> <executions> <execution> <id>${project.version}</id><!--名字任意 --> <phase>package</phase> <!-- 綁定到package生命周期階段上 --> <goals> <goal>single</goal> <!-- 只運行一次 --> </goals> <configuration> <!-- 打包文件名字不包含 assembly.xml 中 id --> <appendAssemblyId>false</appendAssemblyId> <descriptors> <!--描述文件路徑--> <descriptor>src/main/assembly/dist.xml</descriptor> </descriptors> <!--這樣配置后,mvn deploy不會把assembly打的zip包上傳到nexus--> <attach>false</attach> </configuration> </execution> </executions> </plugin> ~~~ dist.xml文件描述: ~~~ <?xml version="1.0" encoding="UTF-8"?> <assembly> <!-- 不配置會報錯:Assembly ID must be present and non-empty --> <id>dist</id> <formats> <!--壓縮文件的類型--> <format>tar.gz</format> </formats> <!--指明打包后是否有分發包的最外層,如果不寫,默認是true--> <includeBaseDirectory>true</includeBaseDirectory> <fileSets> <!--需要包含的文件與輸出的路徑--> <fileSet> <!--指明要對src/main/assembly/bin文件夾操作--> <directory>src/main/assembly/bin</directory> <!--指明經過assembly插件打包后bin目錄會放置在項目根目錄下--> <outputDirectory>bin</outputDirectory> <!--指明bin目錄下所有文件的權限為755--> <fileMode>0755</fileMode> </fileSet> <fileSet> <directory>src/main/assembly/conf</directory> <outputDirectory>conf</outputDirectory> <fileMode>0644</fileMode> </fileSet> <fileSet> <directory>target</directory> <outputDirectory>lib</outputDirectory> <!--指明經過assembly插件打包后lib目錄會包含哪些jar包--> <includes> <include>*.jar</include> </includes> </fileSet> <fileSet> <directory>src/main/resources</directory> <outputDirectory>logs</outputDirectory> <fileMode>0755</fileMode> <!--指明經過assembly插件打包后logs過濾掉哪些文件--> <excludes> <!-- **/* 代表是任意路徑下任務文件--> <exclude>**/*</exclude> </excludes> </fileSet> </fileSets> </assembly> ~~~ # maven打包 ~~~ -DskipTests和-Dmaven.test.skip=true的區別是 -DskipTests,不執行測試用例,但編譯測試用例類生成相應的class文件至target/test-classes下。 -Dmaven.test.skip=true,不執行測試用例,也不編譯測試用例類。 ~~~ # Assembly Descriptor 要使用maven-assembly-plugin,需要指定至少一個要使用的assembly descriptor 文件。默認情況下,maven-assembly-plugin內置了幾個可以用的assembly descriptor: * bin : 類似于默認打包,會將bin目錄下的文件打到包中; * jar-with-dependencies : 會將所有依賴都解壓打包到生成物中; * src :只將源碼目錄下的文件打包; * project : 將整個project資源打包。 自己定義的話 這個定義很簡單: * format:指定打包類型; * includeBaseDirectory:指定是否包含打包層目錄(比如finalName是output,當值為true,所有文件被放在output目錄下,否則直接放在包的根目錄下); * fileSets:指定要包含的文件集,可以定義多個fileSet; * directory:指定要包含的目錄; * outputDirectory:指定當前要包含的目錄的目的地。 # 添加文件 上面演示了添加所有編譯后的資源,同樣的可以增加其他資源,例如想添加當前工程目錄下的某個文件 b.txt ,在assembly descriptor的assembly結點下增加 ~~~ <files> <file> <source>b.txt</source> <outputDirectory>/</outputDirectory> </file> </files> ~~~ > 這里用到了 files 元素類型,可以想象 fileSets 下的結點都是針對文件夾的;files 下的結點都是針對文件的。 # 排除文件 在 fileSet 里可以使用 includes 和 excludes 來更精確的控制哪些文件要添加,哪些文件要排除。 例如要排除某個目錄下所有的txt文件: ~~~ <fileSet> <directory>${project.build.directory}/classes</directory> <outputDirectory>/</outputDirectory> <excludes> <exclude>**/*.txt</exclude> </excludes> </fileSet> ~~~ 或者某個目錄下只想 .class 文件 ~~~ <fileSet> <directory>${project.build.directory}/classes</directory> <outputDirectory>/</outputDirectory> <includes> <include>**/*.class</include> </includes> </fileSet> ~~~ # 添加依賴 如果想把一些依賴庫打到包里,可以用 dependencySets 元素,例如最簡單的,把當前工程的所有依賴都添加到包里: ~~~ <dependencySets> <dependencySet> <outputDirectory>/</outputDirectory> </dependencySet> </dependencySets> ~~~ 在assembly下添加以上配置,則當前工程的依賴和工程本身生成的jar都會被打包進來。 如果要排除工程自身生成的jar,則可以添加 ~~~ <useProjectArtifact>false</useProjectArtifact> ~~~
                  <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>

                              哎呀哎呀视频在线观看