這裡有一些將 GPars 整合到您專案中的想法。

版本 2.1 後的最新 Groovy 版本已包含我們的 GPars 工具,
所以您可能已經有 GPars 了!

Grape

使用 Grape 進行整合非常簡單

Grape 設定
1
@Grab(group='org.codehaus.gpars', module='gpars', version='1.2.1')

快照版本

取得快照版本(暫停,等待新的提供者)
1
2
@GrabResolver(name='gpars', root='http://snapshots.repository.codehaus.org/', m2Compatible=true)
@Grab(group='org.codehaus.gpars', module='gpars', version='1.3-SNAPSHOT')

Grape 設定(選用)

GPars 選擇性地依賴一些第三方函式庫。它們大多數位於中央 Maven 儲存庫中,但是,Netty 函式庫僅位於 JBoss 儲存庫中。

為了利用(原型)遠端處理功能,您需要使用 GrabResolver 註解(自 Groovy 1.7 起)

Grape 組態
1
@GrabResolver(name='jboss', root='http://repository.jboss.org/maven2/')

或確保您的 grapeConfig.xml 檔案包含所有必要的 maven 儲存庫

grapeConfig.xml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
   <!-- based on http://groovy.codehaus.org/Grape#Grape-CustomizeIvysettings -->
   <ivysettings>
     <settings defaultResolver="downloadGrapes"/>
     <resolvers>
       <chain name="downloadGrapes">
         <filesystem name="cachedGrapes">
           <ivy pattern="${user.home}/.groovy/grapes/[organisation]/[module]/ivy-[revision].xml"/>
           <artifact pattern="${user.home}/.groovy/grapes/[organisation]/[module]/[type]s/[artifact]-[revision].[ext]"/>
         </filesystem>
         <!-- todo add 'endorsed groovy extensions' resolver here -->
         <filesystem name="m2local" m2compatible="true">
           <artifact pattern="${user.home}/.m2/repository/[organisation]/[module]/[revision]/[module]-[revision].[ext]" />
         </filesystem>
         <ibiblio name="ibiblio" m2compatible="true"/>
         <ibiblio name="codehaus" root="http://repository.codehaus.org/" m2compatible="true"/>
         <ibiblio name="jboss" root="http://repository.jboss.org/maven2/" m2compatible="true"/><!-- added by me -->
         <ibiblio name="java.net2" root="http://download.java.net/maven/2/" m2compatible="true"/>
         <!-- <ibiblio name="codehaus.snapshot" root="http://snapshots.repository.codehaus.org/" m2compatible="true"/> --><!-- Enable for GPars snapshots -->
       </chain>
     </resolvers>
   </ivysettings>

Gradle

GPars 儲存在 中央 Maven 儲存庫 http://repo1.maven.org/maven2/org/codehaus/gpars/ 和 Codehaus Maven 儲存庫 http://repository.codehaus.org/org/codehaus/gpars/gpars/。

若要將 GPars 包含在您的專案中,請加入以下任一儲存庫以及專案中的相依性

Gradle
1
2
3
4
5
6
7
8
9
    repositories {
        mavenCentral()
        //add repositories for optional dependencies
        maven{url 'http://repository.jboss.org/maven2/'}
    }

    dependencies {
        compile "org.codehaus.gpars:gpars:1.2.1"
    }

快照版本

另一種方法
1
2
3
4
5
6
7
8
    repositories {
        maven{url 'http://snapshots.repository.codehaus.org/'}
        //add repositories for optional dependencies
        maven{url 'http://repository.jboss.org/maven2/'}
    }
    dependencies {
        compile "org.codehaus.gpars:gpars:1.3-SNAPSHOT"
    }

Maven

若要將 GPars 包含在您的專案中,請將以下(選用)儲存庫和相依性加入您的專案中

Maven 組態
1
2
3
4
5
6
7
8
9
10
11
12
13
14
    <repositories>
        <repository>
            <id>jboss</id>
            <url>http://repository.jboss.org/maven2/</url>
        </repository>
    </repositories>

    <dependencies>
        <dependency>
            <groupId>org.codehaus.gpars</groupId>
            <artifactId>gpars</artifactId>
            <version>1.2.1</version>
        </dependency>
    </dependencies>

Maven 為基礎的 Java API 範例專案

您可能也喜歡一個獨立的以 Maven 為基礎的 Java API 範例專案,展示如何從 Java 使用 GPars 以及如何將 GParsMaven 整合。請參閱我們的下載頁面。

並且相同的範例專案也適用於快照版本。

Maven 設定
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
    <repositories>
        <repository>
            <id>jboss</id>
            <url>http://repository.jboss.org/maven2/</url>
        </repository>
        <repository>
            <id>codehaus.snapshots</id>
            <url>http://snapshots.repository.codehaus.org</url>
        </repository>
    </repositories>

    <dependencies>
        <dependency>
            <groupId>org.codehaus.gpars</groupId>
            <artifactId>gpars</artifactId>
            <version>1.3-SNAPSHOT</version>
        </dependency>
    </dependencies>

Grails

1.2 版後的 Grails

利用內建的相依性管理,您可以更新 BuildConfig.groovy 檔案,而不是安裝外掛程式

Grails 設定
1
2
3
4
5
6
7
8
    repositories {
        mavenCentral()
        //  maven{url 'http://snapshots.repository.codehaus.org'}  //enable if using *GPars* snapshots
        maven{url 'http://repository.jboss.org/maven2/'}
    }
    dependencies {
        build 'org.codehaus.gpars:gpars:1.2.1'
    }

Griffon

使用 Griffon 內建的相依性管理

Griffon 組態
1
2
3
4
5
6
7
8
9
10
11
12
13
    griffon.project.dependency.resolution = {
        inherits "global"

        default dependencies
            repositories {
                griffonHome()
                mavenCentral()
            }
            dependencies {
                runtime org.codehaus.gpars:gpars:1.2.1
            }
        }
    }

您也可以考慮使用外掛程式來為舊版本的 Griffon 啟用 GPars


相依性

GPars 本身依賴於來自 Maven 中央儲存庫 的一些函式庫。請查看 GPars 的公開 pom

GPars 相依性
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
  <?xml version="1.0" encoding="UTF-8"?>
  <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>
    <groupId>org.codehaus.gpars</groupId>
    <artifactId>gpars</artifactId>
    <version>1.2.1</version>
    <name>GPars</name>
    <description>The Groovy and Java high-level concurrency library offering actors, dataflow, CSP, agents, parallel collections, fork/join and more</description>
    <url>http://gpars.codehaus.org</url>
    <inceptionYear>2009</inceptionYear>
    <licenses>
      <license>
        <name>The Apache Software License, Version 2.0</name>
        <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
        <distribution>repo</distribution>
      </license>
    </licenses>
    <dependencies>

      <dependency>
        <groupId>org.multiverse</groupId>
        <artifactId>multiverse-core</artifactId>
        <version>0.7.0</version>
        <scope>compile</scope>
      </dependency>

      <dependency>
        <groupId>org.codehaus.jcsp</groupId>
        <artifactId>jcsp</artifactId>
        <version>1.1-rc5</version>
        <scope>compile</scope>
        <optional>true</optional>
      </dependency>

      <dependency>
        <groupId>org.codehaus.jsr166-mirror</groupId>
        <artifactId>jsr166y</artifactId>
        <version>1.7.0</version>
        <scope>compile</scope>
      </dependency>

      <dependency>
        <groupId>org.codehaus.groovy</groupId>
        <artifactId>groovy-all</artifactId>
        <version>2.1.9</version>
        <scope>compile</scope>
        <optional>true</optional>
      </dependency>

      <dependency>
        <groupId>org.jboss.netty</groupId>
        <artifactId>netty</artifactId>
        <version>3.2.9.Final</version>
        <scope>compile</scope>
        <optional>true</optional>
      </dependency>
    </dependencies>
  </project>

授權條款

以 APL 2.0 授權條款授權 - 授權條款