以下是一些将 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 存储在 http://repo1.maven.org/maven2/org/codehaus/gpars/ 的 中央 Maven 存储库 中,并且还在 http://repository.codehaus.org/org/codehaus/gpars/gpars/ 的 Codehaus Maven 存储库 中。

要在您的项目中包含 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>

基于 MavenJava API 演示项目的示例

您可能还喜欢一个独立的基于 Maven 的 Java API 示例项目,该项目展示了如何从 Java 使用 GPars 以及如何将 GParsMaven 集成。请参阅我们的下载页面以获取该项目。

并且相同的示例项目可用于 SNAPSHOT 版本。

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

Grails 1.2 及更高版本

利用内置的依赖项管理,您可以更新 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 许可 - 许可证