1. 程式人生 > >java和groovy混編的Maven專案如何用intellij打包執行jar包

java和groovy混編的Maven專案如何用intellij打包執行jar包

由於自己之前使用的是Gradle構建工具,最近切到Maven有些不太適應,特別是在java和groovy混編時,在打包jar包的過程中出現問題,困擾了很久,在網上查了一些資料,都是引入build外掛即可,但是外掛有的是eclipse的外掛,進過分析和摸索終於得到了一個再intellij使用Maven打包混編專案的jar包的方法。

首先把專案的java資料夾改成groovy,如圖:

然後就是配置pom檔案,分依賴和build兩部分:

<dependency>
            <groupId>org.codehaus.groovy</groupId>
            <artifactId>groovy-all</artifactId>
            <version>2.4.8</version>
        </dependency>


    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.6.1</version>
                <configuration>
                    <source>1.8</source>
                    <target>1.8</target>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-jar-plugin</artifactId>
                <version>2.6</version>
                <configuration>
                    <archive>
                        <manifest>
                            <addClasspath>true</addClasspath>
                            <classpathPrefix>lib/</classpathPrefix>
                            <mainClass>com.okayqa.studentapd.T2</mainClass> <!-- 執行jar的main class  -->
                        </manifest>
                        <!-- 新增本地的jar -->
                        <manifestEntries>
                            <!-- 這個>lib/class-util-1.0.jar 路徑是已經被打包到target/lib裡的,多個包用空格隔開就可以了 -->
                            <Class-Path>/Users/fv/Documents/workspace/fun/build/libs/fun-1.0.jar</Class-Path>
                        </manifestEntries>
                    </archive>
                </configuration>
            </plugin>

            <plugin>
                <groupId>org.codehaus.gmaven</groupId>
                <artifactId>gmaven-plugin</artifactId>
                <version>1.2</version>
                <configuration>
                    <providerSelection>1.7</providerSelection>
                </configuration>
                <dependencies>
                    <dependency>
                        <groupId>org.codehaus.gmaven.runtime</groupId>
                        <artifactId>gmaven-runtime-1.7</artifactId>
                        <version>1.2</version>
                        <exclusions>
                            <exclusion>
                                <groupId>org.codehaus.groovy</groupId>
                                <artifactId>groovy-all</artifactId>
                            </exclusion>
                        </exclusions>
                    </dependency>
                    <dependency>
                        <groupId>org.codehaus.groovy</groupId>
                        <artifactId>groovy-all</artifactId>
                        <version>1.7.0</version>
                    </dependency>
                </dependencies>
                <executions>
                    <execution>
                        <goals>
                            <goal>generateStubs</goal>
                            <goal>compile</goal>
                            <goal>generateTestStubs</goal>
                            <goal>testCompile</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>
  • 中間有一個打包本機jar的設定沒刪除,如果本地jar包路徑配置的地方報紅,檢查沒問題的話可以不管,不影響